xm-select 二级联动 layui

功能描述:

选择第一个下拉框参数将修改第二个下拉框所有参数

方法一(稍繁琐)

Html:

<div class="layui-inline">
   <label class="layui-form-label">选择部门</label>
     <div class="layui-input-inline">
        <select  class="form-control" id="dpt1_update" lay-filter="dpt1_update" name="dpt1">
           <option value="">选择部门</option>
        </select>
      </div>
      <div class="layui-input-inline">
         <select  class="form-control" id="dpt2_update" lay-filter="dpt2_update" name="dpt2">
           <option value="">选择部门</option>
         </select>
      </div>
</div>

Js:

layui.use([form], function() {
	form=layui.form;
	form.on(select(dpt1_update), function(data){
		var val=data.value;
		$.get("url",{"data":val,"level":4},function (data) {
			var list = data;
			var select = document.getElementById(dpt2_update);
			$(#dpt2_update).find(option).remove();
			if (list != null || list.size() > 0) {
				for (var c in list) {
					var option = document.createElement("option");
					option.setAttribute("value", list[c].id);
					option.innerText = list[c].name;
					select.appendChild(option)
				}
			};
			form.render(select);
		},"json");
	});
});

方法二(推荐)

#html部分
	<div id="state"></div>
	<div id="city"></div>

#JS部分	
	var city = xmSelect.render({
        el: #city,
		data: [
            {name: 苏州, value: 1,selected: true,},
            {name: 南通, value: 2},
        ]
	})
	xmSelect.render({
        el: #state,
        radio: true,
        data: [
            {name: 江苏, value: 1,selected: true,},
            {name: 广西, value: 2},
        ],
        on:function (data) {
			if(data.change[0].value == 1){
				city.update({
					data: [
						{name: 苏州, value: 1,selected: true,},
						{name: 南通, value: 2},
					],
					autoRow: true,
				})
			}else if(data.change[0].value == 2){
				city.update({
					data: [
						{name: 南宁, value: 1,selected: true,},
						{name: 北海, value: 2},
					],
					autoRow: true,
				})
			}
        }
    })
经验分享 程序员 微信小程序 职场和发展