说说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
    评论
layuiselect标签二级联动可以通过绑定select事件来实现。首先,在HTML代码,需要设置两个select标签,一个作为父级选择,另一个作为子级选择器。父级选择器的select标签需要添加lay-filter属性,用于绑定select事件。子级选择器的select标签需要添加id属性,用于在JavaScript代码进行操作。 接下来,在JavaScript代码,使用form.on('select(father_enter)', function(data){...})来绑定select事件。当父级选择器的值发生变化时,会执行绑定的回调函数。在该回调函数,可以根据父级选择器的值进行相应的操作。 例如,可以通过发送Ajax请求获取子级选择器的数据,并将数据拼接成option标签,然后将拼接好的option标签添加到子级选择器。最后,还需要调用form.render()方法来渲染form,以便让select显示出数据。 需要注意的是,如果忘记调用form.render()方法,那么select标签将不会显示数据。所以在拼接完option标签后,一定要记得调用form.render()方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [layuiselect 实现二级联动](https://blog.csdn.net/dangjunwei123/article/details/117258419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44187959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值