layui 取得所有数据,假调一个id为insureTableId的表格
var oldData = table.cache["insureTableId"];
是一个json对象
全选或点选时,定义一个事件
var checkedArr=[]; //复选框 选择表格索引行号
table.on('checkbox(insureTableFilter)', function(obj){
var oldData = table.cache["insureTableId"];
//layer.alert(JSON.stringify(oldData));
if (obj.type=='all'){
if(obj.checked){
//全选选中
for (var i=0; i<oldData.length; i++){
checkedArr.push(oldData[i].LAY_TABLE_INDEX);
}
}else{
//取消选中
checkedArr.splice(0);
}
} else {
//one 单行选择
if (obj.checked){
checkedArr.push(obj.tr.data('index'));
} else {
checkedArr.splice(obj.tr.data('index'), 1); //根据索引删除当前行
}
}
//layer.alert(JSON.stringify(checkedArr));
});
批量删除
/**
* toolbar事件监听
*/
table.on('toolbar(insureTableFilter)', function (obj) {
if (obj.event === 'insureAdd') { // 监听添加操作
//这里省略添加的代码
} else if (obj.event === 'insureAllDelete') { // 监听删除操作
var checkStatus = table.checkStatus('insureTableId')
, data = checkStatus.data;
var oldData = table.cache["insureTableId"];
//layer.alert(JSON.stringify(checkStatus));
//删除库里真实数据
var delList=[];
data.forEach(function(item,index){
if(item.id>0){
delList.push(item.id);
}
});
if(delList.length>0){
insure_del(delList.join(','));
//layer.alert(delList.join(','));
}
//以下为删除表格临时数据
if (checkStatus.isAll){
for (var i=0; i<data.length; i++){
checkedArr.push[i];
//checkedArr[data[i].id]=i;
}
}
// $(".layui-table-view .layui-table tbody tr[data-index="+checkedArr[i]+"]").remove();
var newData = $.grep(oldData, function(n, i) {
return $.inArray(i, checkedArr) ==-1;
});
table.reload('insureTableId', {
url: '',
data: newData
});
}
});
删除一行
table.on('tool(insureTableFilter)', function (obj) {
var data = obj.data;
console.log(data);
if (obj.event === 'insureDeleteMe') {
layer.confirm('真的删除行么', function (index) {
if(data.id>0){
insure_del(data.id);
}
//删除一行并清空缓存
var oldData = table.cache["insureTableId"];
console.log('删除'+obj.tr.data('index'));
if (obj.tr.data('index') != '') {
oldData.splice(obj.tr.data('index'), 1)//根据索引删除当前行
}
//obj.del(); //此del有问题,会出现[]空数据
table.reload('insureTableId', {
url: '',
data: oldData
});
layer.close(index);
});
}
});