1、演示案例
2、修改源码
1)、针对源码
修改前,大概在table.js文件的 1565 行
layui.event.call(checkbox[0], MOD_NAME, 'checkbox('+ filter +')', commonMember.call(checkbox[0], {
checked: checked
,type: isAll ? 'all' : 'one'
}));
修改后,接收返回值并处理
var check = layui.event.call(checkbox[0], MOD_NAME, 'checkbox('+ filter +')', commonMember.call(checkbox[0], {
checked: checked
,type: isAll ? 'all' : 'one'
}));
if(check==false) {
if(isAll){
childs.each(function(i, item){
item.checked = false;
that.setCheckData(i, false);
});
that.syncCheckAll();
}else{
checkbox[0].checked=false;
that.setCheckData(index, false);
}
that.renderForm('checkbox');
}
2)、在压缩的代码中可以使用正则搜索
call\(.\[0\]\,.\,\"checkbox\(\"\+.\+\"\)\"
找到位置,修改如下,因为各版本压缩混淆码不同,这里仅供参考
3、使用方法
table.on('checkbox(test)', function (obj) {
var checkStatus = table.checkStatus('test'); //idTest 即为基础参数 id 对应的值
if(checkStatus.data.length>3){
layer.alert("勾选数量不能超过3个");
return false;
}
});
注:紧紧是个人修改,待官方以后可能支持