LayUI 的 select 动态联动

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

你可能感兴趣的:(#,LayUI)