当前位置:   article > 正文

layui实现table表格的“关键字搜索”功能_layui 搜索

layui 搜索

最近在做一个项目里,正好用到了layui的分页。但是在做分页关键字查询时,遇到了几个问题。第一个参数的传递,第二个数据的嗮选,第三个数据的返回,第四个数据的重新加载。

如下是解决方案的js代码,和大家分享。

  1. layui.use('table', function(){
  2.               var table = layui.table;
  3.                 table.render({
  4. elem: '#demo'
  5. ,url:'/demo/table/user/'
  6. ,cols: [[
  7. {field:'id', width:80, title: 'ID', sort: true}
  8. ,{field:'username', width:80, title: '用户名'}
  9. ,{field:'sex', width:80, title: '性别', sort: true}
  10. ,{field:'city', width:80, title: '城市'}
  11. ,{field:'sign', title: '签名', minWidth: 150}
  12. ,{field:'experience', width:80, title: '积分', sort: true}
  13. ,{field:'score', width:80, title: '评分', sort: true}
  14. ,{field:'classify', width:80, title: '职业'}
  15. ,{field:'wealth', width:135, title: '财富', sort: true}
  16. ]]
  17. ,page: true
  18. });
  19.   
  20.               //监听表格复选框选择
  21.               table.on('checkbox(demo)', function(obj){
  22.                 console.log(obj)
  23.               });
  24.               //监听工具条
  25.               table.on('tool(demo)', function(obj){
  26.                 var data = obj.data;
  27.                 if(obj.event === 'detail'){
  28.                   layer.msg('ID:'+ data.id + ' 的查看操作');
  29.                 } else if(obj.event === 'del'){
  30.                   layer.confirm('真的删除行么', function(index){
  31.                     obj.del();
  32.                     layer.close(index);
  33.                   });
  34.                 } else if(obj.event === 'edit'){
  35.                   layer.alert('编辑行:<br>'+ JSON.stringify(data))
  36.                 }
  37.               });
  38.               
  39.               var $ = layui.$, active = {
  40.                 getCheckData: function(){ //获取选中数据
  41.                   var checkStatus = table.checkStatus('idTest')
  42.                   ,data = checkStatus.data;
  43.                   layer.alert(JSON.stringify(data));
  44.                 }
  45.                 ,getCheckLength: function(){ //获取选中数目
  46.                   var checkStatus = table.checkStatus('idTest')
  47.                   ,data = checkStatus.data;
  48.                   layer.msg('选中了:'+ data.length + ' 个');
  49.                 }
  50.                 ,isAll: function(){ //验证是否全选
  51.                   var checkStatus = table.checkStatus('idTest');
  52.                   layer.msg(checkStatus.isAll ? '全选': '未全选')
  53.                 }
  54.                 ,reload:function(){
  55.                     var classifyID= $("#classifyID").val();
  56.                     var title =$("#search-input").val();
  57.                     if(1){
  58.                         console.log(1);
  59.                         table.reload('demo',
  60.                                   {page:
  61.                                           {
  62.                                               curr1 //重新从第 1 页开始
  63.                                           }
  64.                                 , where: { title: title,classifyID:classifyID}//这里传参  向后台
  65.                                 , url'/demo/table/user/'//后台做模糊搜索接口路径
  66.                                 , method'get'
  67.                         }); 
  68.                     } 
  69.                 }
  70.               };
  71.               
  72.               $('#search_btn').on('click', function(){
  73.                 var type = 'reload';
  74.                 active[type] ? active[type].call(this) : '';
  75.               });
  76. });

其中页面上需要一个 button 按钮和一个input。

按钮的id是 search_btn ,input的id是search_input.

reload是实现参数参数,数据返回重新加载的一个函数。

如需了解更多,可参考课程c#建设网站上线了,用到的技术有css,js,layui,c#,sql server,实现的功能有网站的前后台分离。

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号