layui中的switch开关,能够去显示当前的状态,是否是启用还是禁用。当时如果当前记录的某个值没有进行填写,这行记录就不能被启用。并且页面上也要让他不能进行操作。
直接上代码:
// 页面状态栏事件监听form.on('switch', function (data) {var swithcData = data;var id = data.value;// 获取要修改的IDvar state = this.checked ? '0' : '2';// 当前状态值$.ajax({url: '/adChannelConfig/editState',data: {"id": id,"state": state},error: function (data) {console.log(data);layer.msg('数据异常,操作失败!');},// 修改失败,请填写对应的参数success: function (data) {if (data.data) {layer.msg('操作成功!');} else {layer.msg(data.msg);var em = $(swithcData.othis[0]);swithcData.othis[0].classList.remove('layui-form-onswitch');em.children('em').text('停用');}}});});
当后台发送添加失败的数据过来的时候,走的下面的else,我们把当前DOM对象用一个变量swithcData 去接收,这个时候去删除到它的class属性。这个是来控制layui的switch的页面显示。
dom中的0里面,需要点击那个0才能实现,而数字型的属性名不能用“.”来获取,故写成[0]。