layui的select聯動 - CSDN博客


要實現聯動效果注意兩點:

第一要可以監聽到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');重新渲染一次,就可以正常使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM