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

技术
©2020 ioDraw All rights reserved
在上海做什么赚钱快?这10个你可以试一试!PHP 先返回结果到前端,PHP代码继续执行后续的任务centos7部署springboot jar包 疫情过后 学哪个编程有前景安卓开发—根据顾客预算显示食物信息苹果iPhone 12全系售价泄露:官方最高售价近1万元log4j打印异常堆栈信息的方法PTA快速排序日经:索尼和铠侠正积极申请华为供货许可一个学生关于鸿蒙系统的一些看法