这篇文章主要介绍了layui中如何实现表格分页和记录勾选,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
layui 分页之后没有记录之前勾选项的功能 , 自己写了一个 , 主要点就是表格的done 函数 ,每次渲染完成之后做表格勾选操作。然后需要一个全局变量记录所有已经勾选的项 。
首先,监听表格的复选框点击事件 , 将单选或全选全部记录下来
var checkArray = new Array();
// 当前页数据
var currentArray ;
//监听行单击事件(单击事件为:rowDouble)
table.on('checkbox(test)', function(obj){
var checkData = obj.data ;
// 如果是全选中
if(obj.type == 'all' && obj.checked == true){
var checkStatus = table.checkStatus('demo')
,data = checkStatus.data;
for(var i in data){
// 如果包含就去掉 ,不包含就添加
if(checkArray.indexOf(data[i].eventTypeName) > -1){
}else {
checkArray.push(data[i].eventTypeName) ;
}
}
}
// 全不选中
else if(obj.type == 'all' && obj.checked == false){
for(var i in currentArray){
checkArray.remove(currentArray[i].eventTypeName) ;
}
}
// 如果是单选
else {
var eventTypeName = checkData.eventTypeName ;
// 如果包含就去掉 ,不包含就添加
if(checkArray.indexOf(eventTypeName) > -1){
checkArray.remove(eventTypeName) ;
}else {
checkArray.push(eventTypeName) ;
}
}
});
然后 ,
done: function(res, curr, count){
//如果是异步请求数据方式,res即为你接口返回的信息。
//如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
currentArray = res.data ;
//.假设你的表格指定的 id="maintb",找到框架渲染的表格
var tbl = $('#demo').next('.layui-table-view');
// 渲染选择框
for(var i in currentArray){
for(var j in checkArray){
if(currentArray[i].eventTypeName == checkArray[j]){
tbl.find('table>tbody>tr').eq(i).find('td').eq(0).find('input[type=checkbox]').prop('checked', true);
}
}
}
form.render('checkbox');
}
感谢你能够认真阅读完这篇文章,希望小编分享的“layui中如何实现表格分页和记录勾选”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。