说说layui的form中的二级联动select注意点

【1.加载layui框架】
这个请移驾 https://www.layui.com 不多讲。

【2.举个例子】

//先给出html代码

<form action='' method='post'  class='layui-form'>
	//这个是一级
	<div class="layui-input-inline">
		<select class="layui-select" lay-filter='rep'>
	        <option value ="">请选择</option>
	        <option value ="1">1</option>
	        <option value ="1">2</option>
	        <option value ="1">3</option>
		</select>
		</div>
	</div>
	//这个是二级
	<div class="layui-form-item">
		<div class="layui-input-inline">
			<select class="layui-select" id='act'>
				<option value ="">请选择</option>
			</select>
		</div>
	</div>
</form>

再出js代码

form.on('select(rep)',function(data){

	//发送一个ajax
     $.ajax({
         url:'#############',
         type:'post',
         data:{'no':data.value},
         dataType:'json',
         success:function(data){
             var data=(JSON.parse(data))['data'];
             
			//获得数据更新之前先删除之前的旧数据
             $('#act').html('');
             
             //遍历增加option
             data.forEach(element => {
                 $('#act').append('<option value ="'+element['no']+'">活动'+element['no']+'</option>');
             });
             
             //表单重新渲染
             form.render();
         }
     });
 });

【3.说说注意事项】
1、form.on(‘select(rep)’,function(data)… 这里的select 指的是监听表单 select元素,rep指的是select的 lay-filter的值,lay-filter是layui中的对象选择器类似DOM 中的id=’’ 。

2、 中的 class=‘layui-form’ 是必须的 否则会不起作用!!

3、这点是我之前困惑的点。首先我认为form.render()方法 活动之表单中所有的元素都会刷新,可能会导致之前已经选中的选择项 回归默认值 。 经过测试 render()不会导致这个问题,具体实现原理还没理清楚。如果有明白的亲 给我留言吧 我看到会回复。不明白的也可以问。看到会回复!!

全文结束!感谢!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值