LayUI 的 select 动态联动 浅浅的花香味﹌ 2022-03-06 12:10 359阅读 0赞 ### LayUI 的 select 动态联动 ### **要实现联动效果注意两点:** 第一:要可以监听到 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',"jquery"], function(){ var layer = layui.layer ,$=layui.jquery ,form = layui.form; form.on('select(myselect)', function(data){ var areaId=(data.value).replaceAll(",",""); $.ajax({ type: 'POST', url: '获取数据的url', data: { "动态参数名":areaId}, dataType: 'json', success: function(data){ $("#City").html(""); $.each(data, function(key, val) { var option1 = $("<option>").val(val.areaId).text(val.fullname); //通过LayUI.jQuery添加列表项 $("#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’); 重新渲染一次,就可以正常使用。
还没有评论,来说两句吧...