JavaScript

超轻量级php框架startmvc

layui的select联动实现代码

更新时间:2020-09-16 12:12:01 作者:startmvc
要实现联动效果注意两点:第一要可以监听到select的change事件;第二异步加载的内容,需要

要实现联动效果注意两点:

第一要可以监听到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联动实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

layui select 联动