关于layUI获取表格中复选框对应数据的方法
今天在做博客后台项目最后一个功能,就是使用layUI的多选功能进行删除勾选数据
如:
去网上百度了各种方法,无一不是特别麻烦。就想了另外的一种方案:
复选框用的是layUI的标签:
<div class="layui-unselect header layui-form-checkbox" lay-skin="primary">
<i class="layui-icon"></i>
</div>
红色批量删除按钮标签:
<button class="layui-btn layui-btn-danger" onclick="delAll()">
<i class="layui-icon"></i>批量删除
</button>
button标签内置一个deall()函数;
下面是deall()代码:
function delAll (argument) {
var data = tableCheck.getData();
//选中的个数
var long = data.length;
var arr = [];
//给数组赋值选中的id
for(var i=0;i<long;i++){
//children('.td)为选中class为td的值,这个值为我们要选中的id.
arr[i] = $(".layui-form-checked").not('.header').parents('tr').children('.td').eq(i).html();
}
layer.confirm('确认要删除吗?'+data,function(index){
layer.msg('删除成功', {icon: 1});
// 将数据arr发送给php脚本处理
$.post('http://blog.com/admin/server/acticleMove.php',{cid:arr},function(res){},'json');
$(".layui-form-checked").not('.header').parents('tr').remove();
});
}
总结:
难点在于如何获得到勾选的值
arr[i] = $(".layui-form-checked").not('.header').parents('tr').children('.td').eq(i).html();
因为数据是遍历出来的,所以arr是一个数组,关键就在于给arr赋值
最开始我用的是:
arr[i] = $(".layui-form-checked").not('.header').parents('tr').children('.td').html();
与上处相比少了一个eq(i),这就导致arr始终是一个值
只有通过遍历才能把每个值都遍历出来并赋给arr数组
(
此处有一个小知识点那就是js中数组的创建:
var arr = [];
//或者
var arr = new Array();
)