author:咔咔
wechat:fangkangfk
有时候会出现input的无法点击,这个情况是因为这个列表是我使用ajax请求获取的,所以属于未来元素。这个时候就只能使用绑定未来元素进行操作
在这段代码中,我检测到layui-unselects这个元素的控制样式的,所以使用jquery来判断是否存在layui-from-checked这个class值。
然后进行批量添加,在这个时候引发的问题就是使用自己添加的样式,会一直出现请选择操作数据,这个问题可以看看源码。看了源码就会知道,他们样式虽然是在div中,但是获取的时候是input的checked。
这个时候我们可以看到点击之后input是根本没有checked的,所以我们需要手动操作,下面就是代码
// 点击复选框
$(document).on('click','.layui-unselects',function(){
var check = $(this).hasClass("layui-form-checked");
if(check){
$(this).parent('td').find('input').attr("checked","")
$(this).removeClass('layui-form-checked')
}else{
$(this).parent('td').find('input').attr("checked","checked")
$(this).addClass('layui-form-checked')
}
})