您的位置:首页 > 产品设计 > UI/UE

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

2019-05-28 11:31 1021 查看

【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()不会导致这个问题,具体实现原理还没理清楚。如果有明白的亲 给我留言吧 我看到会回复。不明白的也可以问。看到会回复!!

全文结束!感谢!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: