视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Layui事件监听的方法
2020-11-27 14:05:35 责编:小采
文档


在使用layui的form表单做验证提交的时候,如果结合vue,或者是三级联动的时候,就需要做事件监听了。

具体语法:

form.on('event(过滤器值)', callback);

可以用于监听:select,checkbox,switch,radio,submit 的改变

一、监听select的改变

<!-- 不用form 用div也可以 -->
<form class="layui-form">
 <div class="layui-form-item">
 <label class="layui-form-label">下拉选择框</label>
 <div class="layui-input-block">
 <select name="interest" lay-filter="aihao">
 <option value="0">写作</option>
 <option value="1">阅读</option>
 <option value="2">听歌</option>
 <option value="4">游戏</option>
 </select>
 </div>
 </div>
</form>
<script type="text/javascript" src="./layui/layui.js"></script>
<script type="text/javascript">
layui.use('form', function(){
 var form = layui.form;
 form.on('select(aihao)',function(data){
 console.log(data);
 console.log(data.elem); //得到select原始DOM对象
 console.log(data.value); //得到被选中的值
 console.log(data.othis); //得到美化后的DOM对象
 });
});
</script>

同理,监听checkbox复选

form.on('checkbox(filter)', function(data){
 console.log(data.elem); //得到checkbox原始DOM对象
 console.log(data.elem.checked); //是否被选中,true或者false
 console.log(data.value); //复选框value值,也可以通过data.elem.value得到
 console.log(data.othis); //得到美化后的DOM对象
});

监听switch开关:

form.on('switch(filter)', function(data){
  console.log(data.elem); //得到checkbox原始DOM对象
  console.log(data.elem.checked); //开关是否开启,true或者false
  console.log(data.value); //开关value值,也可以通过data.elem.value得到
  console.log(data.othis); //得到美化后的DOM对象
});

监听radio单选:

form.on('radio(filter)', function(data){
 console.log(data.elem); //得到radio原始DOM对象
 console.log(data.value); //被点击的radio的value值
});

监听submit提交:

<button lay-submit lay-filter="*">提交</button>
form.on('submit(*)', function(data){
 console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
 console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
 console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
 return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});

更多layui知识请关注layui使用教程栏目。

下载本文
显示全文
专题