记一次项目升级UI到Layer后,如何监听CheckBox控件的细节处理

本文介绍了layUI中CheckBox的使用技巧,包括如何在没有效果的情况下添加正确的class属性使其生效,以及如何监听CheckBox的单击事件。重点讨论了lay-skin为'switch'时,事件监听的写法,并提供了示例代码。通过监听'switch'事件,实现了数据提交并显示提示信息的功能。
摘要由CSDN通过智能技术生成

项目后台继续升级:
当使用layUI的CheckBox时,效果是这样的:
在这里插入图片描述
layUI官方已经说明了,当启动这种效果的时候,控件必须添加到一个class="layui-form"的容器里,否则没有效果(form标签不所谓,div span tr td都可以)。
如:

<td align='center'  class="layui-form">
	<input type="checkbox" name="laycheck" lay-filter="switchTest" value="1608102590" lay-skin="switch" lay-text="开启|关闭" checked> 
</td>

那么如何监听CheckBox的单击事件呢?去layUI官方可以找到一些代码段:

layui.use('form', function () {
   var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
   form.on('even(switchTest)', function (data) {
       //console.log(data);
       //var check = data.elem.checked;
       var url = "?Action=isPast&pname=" + data.value;
       $.get(url, function (res) {
           layer.msg("审核提交成功");
       })
   });
   form.render();
});

问题来了:
form.on(even(switchTest)),这里的even,按一般的理解,是不是填写“checkbox”?如果是这么想的,那么恭喜你,监听不生效!

解决方案:
其实这里的even该填写什么,取决于你用CheckBox控件时,填写的lay-skin而定。这里的lay-skin是switch,那么正确代码如下:

layui.use('form', function () {
   var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
   form.on('switch(switchTest)', function (data) {
       //console.log(data);
       //var check = data.elem.checked;
       var url = "?Action=isPast&pname=" + data.value;
       $.get(url, function (res) {
           layer.msg("审核提交成功");
       })
   });
   form.render();
});

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值