layui表格分頁 記錄勾選的實例

今天小編就爲大家分享一篇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表格分頁 記錄勾選的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章