要实现联动效果注意两点:
第一要可以监听到select的change事件;
第二异步加载的内容,需要重新渲染后才可以 正常使用。
html结构:
<form class=\"layui-form batchinput-form\" action=\"\" id=\"box-form\"> <div class=\"layui-form-item\" > <div class=\"layui-input-inline\"> <label class=\"layui-form-label\">所在省份:</label> <div class=\"layui-input-block\" > <select name=\"province\" id=\"province\" lay-filter=\"myselect\"> <option value=\"\">请选择省份</option> <#list province as provincelist> <option value=\"${provincelist.areaId}\">${provincelist.fullname}</option> </#list> </select> </div> </div> </div> <div class=\"layui-form-item\"> <div class=\"layui-input-inline\"> <label class=\"layui-form-label\">所在城市 :</label> <div class=\"layui-input-block\"> <select name=\"City\" id=\"City\" lay-filter=\"myselect2\" > </select> </div> </div> </div> <div class=\"layui-form-item\"> <div class=\"layui-input-inline\"> <label class=\"layui-form-label\">所在区域 :</label> <div class=\"layui-input-block\"> <select name=\"Area\" id=\"Area\" lay-filter=\"myselect3\"> </select> </div> </div> </div> </form>
js:
layui.use([\'layer\', \'form\'], function(){ var layer = layui.layer ,form = layui.form; form.on(\'select(myselect)\', function(data){ var areaId=(data.value).replaceAll(\",\",\"\"); $.ajax({ type: \'POST\', url: \'/shopInfo/findCity\', data: {areaId:areaId}, dataType: \'json\', success: function(data){ $(\"#City\").html(\"\"); $.each(data, function(key, val) { var option1 = $(\"<option>\").val(val.areaId).text(val.fullname); $(\"#City\").append(option1); form.render(\'select\'); }); $(\"#City\").get(0).selectedIndex=0; } }); }); });
1.select的chage监听事件使用
form.on(\’select(myselect)\’, function(data){}) 其中myselect是select的 lay-filter属性值
2.数据异步加载到select的option中之后,点击该select会发现layui的选中效果不起作用,需要使用form.render(\’select\’);重新渲染一次,就可以正常使用。
以上这篇layui的select联动实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容