<>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’); 重新渲染一次,就可以正常使用。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信