**
layui中表格,实现复选框动态渲染,判断状态让其显示不显示
**实现全选或者多选,点击一键处理对其消除警报,在layui数据表格中设置了字段为type:checkbox 但是想要实现部分不显示功能。layui内置没有该功能,所以只能自己实现。
1.渲染表格数据
table.render({
width:1200,
elem:'#table',
data:data,
cols: [[
{
templet: "#checkbd",
title: "<input type='checkbox' name='siam_all' title='' lay-skin='primary' lay-filter='siam_all'> ",
width: 60,
}
,{field:'deviceNo', width:60, title: '主机ID'}
]]
2.html中写判断
<script type="text/html" id="checkbd">
{{# if (d.status!==0){ }}//判断不显示的状态
<input type="checkbox" name="siam_one" title="" lay-skin="primary" data-id = "{{ d.id }}">
{{# } }}
</script>
3.实现全选功能,当你选中全选按钮的时候,底下的复选框会被全部选中
// 监听选中全选,如果选中,则把底下得全部选中
layui.use('form', function () {
form = layui.form;
form.on("checkbox(siam_all)", function () {
var status = $(this).prop("checked");
$.each($("input[name=siam_one]"), function (i, value) {
$(this).prop("checked", status);
});
form.render();
});
});
4. 获取有没有选中得复选框
//获取选中的复选框
var checkStatus=$("input[name='siam_one']:checked");
//定义一个数组来获取选中的id
var idsArray=[]
//如果选中,把选中的id存在数组中,传入接口,如果未选中则提示选中
//如果没有选中则提醒选中
if(checkStatus.length==0){
layer.msg('请选择要处理得预警信息,可以全选也可以多选')
}else{
for (var i = 0; i < checkStatus.length; i++) {
//获取选中的id
idsArray.push(parseInt($(checkStatus[i]).attr("data-id")));
}
//把数组分割成逗号隔开的字符串
idsArray=idsArray.join(',')
}