项目后台继续升级:
当使用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();
});