layui 数据表格+分页+搜索+checkbox+缓存选中项数据(3)

@Override public List<Report> findReportList(Map mapParameter) { return reportDao.selectList("findReportList",mapParameter); } @Override public Integer findReportListCount(Map mapParameter) { return reportDao.selectOne("findReportCount",mapParameter); }

(3).mybatis SQL

<!-- 查询所有报告列表 --> <select resultMap="BaseResultMap" parameterType="java.util.Map"> select * FROM report where status=0 <if test="searContent!=null "> and ( (name LIKE concat(concat("%",#{searContent}),"%")) or (phone LIKE concat(concat("%",#{searContent}),"%")) or (identification_nuber LIKE concat(concat("%",#{searContent}),"%")) ) </if> ORDER BY update_time DESC limit #{page} , #{limit}; </select> <!-- 查询所有报告列表 总数 --> <select resultType="java.lang.Integer" parameterType="java.util.Map"> select COUNT(*) FROM report where status=0 <if test="searContent!=null "> and ( (name LIKE concat(concat("%",#{searContent}),"%")) or (phone LIKE concat(concat("%",#{searContent}),"%")) or (identification_nuber LIKE concat(concat("%",#{searContent}),"%")) ) </if> ; </select>

BUG网友解决方案(未测):

//实例 layui.use(['table','form'], function(){ var form = layui.form; //form监听checkbox事件 form.on('checkbox', function(obj){ //当前元素 var data = $(obj.elem); //遍历父级tr,取第一个,然后查找第二个td,取值 转换为Number var id = Number(data.parents('tr').first().find('td').eq(1).text()); //选中or未选中 var check = obj.elem.checked; //复选框状态 // var checkStatus = table.checkStatus('users'); //如果选中 if(check==true){ //如果缓存数组存在值 if(ids.length>0){ //id==0便是全选按钮 if(id==0){ //循环当前页面所有数据 for(var i=0;i<table_data.length;i++){ //数据中有不存在于不在缓存中则加入缓存中 isInArray该方法来自common.js if(isInArray(ids,table_data[i].id)==false){ ids.push(table_data[i].id); } } }else{ //单选中的数据不在缓存中则加入缓存中 if(isInArray(ids,id)==false){ ids.push(id); } } //如果缓存数组不存在值 表示第一次添加 }else{ //id==0便是全选按钮 if(id==0){ //循环当前页面所有数据直接加入缓存 for(var i=0;i<table_data.length;i++){ ids.push(table_data[i].id); } }else{ //单选中的数据加入缓存中 ids.push(id); } } //取消选中 }else{ //id==0便是全选按钮 if(id==0){ //循环当前页面所有数据 for(var i=0;i<table_data.length;i++){ //如果有数据存在与缓存中则删除 if(isInArray(ids,table_data[i].id)==true){ //removeByValue该方法来自common.js ids.removeByValue(table_data[i].id); } } }else{ //如果单选中的数据存在与缓存中则删除 if(isInArray(ids,id)==true){ ids.removeByValue(id); } } } }); }) //判断数组中是否存在元素 arr数组 value需判断的元素 function isInArray(arr, value) { for (var i = 0; i < arr.length; i++) { if (value === arr[i]) { return true; } } return false; } // 数组对象增加删除方法 数组.removeByValue(需删除的值)即可调用 Array.prototype.removeByValue = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) { this.splice(i, 1); break; } } }

以上这篇layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3bf6ba783366bccb32177dd7b9c2d530.html