国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

bootstrap table插件的分頁與checkbox使用詳解

2019-11-19 16:00:54
字體:
來源:轉載
供稿:網友

今天需要實現這樣一個功能,有checkbox列表可供選擇,要選擇不分頁之間的行并保存

最終實現的功能如圖:(圖片來自網上)

這里寫圖片描述

具體實現

首先,來看具體的代碼,這里只截取實現功能所需代碼

  var selectionIds =[],selectionNames=[];  var curd = {    init:function(){      this._getCheckParam();    },    /**     * 初始化     * @private     */  /**   * 表格操作   */  //表格分頁之前處理多選框數據  _responseHandler:function()(res) {    $.each(res.rows, function (i, row) {      row.checkStatus = $.inArray(row.id, selectionIds) != -1; //判斷當前行的數據id是否存在與選中的數組,存在則將多選框狀態變為true    });    return res;  },    _list:function(){      var _this = this      var settings = {        url:Path.searchUrl,        method:'GET',        responseHandler:_this.responseHandler, //在渲染頁面數據     之前執行的方法        height:Path.tbheight      };      bsTable.initTable("#boostrapTable",settings);      // 其它的boostrapTable參數已經封裝在bsTable里面了,這里就不貼出來了    },    /**     * 獲取選中ID     * @returns {*}     * @private     */    _getIdSelections:function() {        // 用map進行過濾        return $.map($('#bootstrapTable').bootstrapTable('getSelections'), function (row) {          return row.id        });      },    /**     * 獲取選中對象并顯示     * @private     */    _getCheckParam:function(){      var union = function(array,ids){        $.each(ids, function (i, id) {          if($.inArray(id,array)==-1){            array[array.length] = id;          }        });        return array;      };      //取消選中事件操作數組      var difference = function(array,ids){        $.each(ids, function (i, id) {          var index = $.inArray(id,array);          if(index!=-1){            array.splice(index, 1);          }        });        return array;      };      var _ = {"union":union,"difference":difference};      var $table=$('#bootstrapTable');      //綁定選中事件、取消事件、全部選中、全部取消      $table.on('check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table', function (e, rows) {        var ids = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {          return row.id;        });        var names = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {          return row.name;        });        func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference';        selectionIds = _[func](selectionIds, ids);        selectionNames =_[func](selectionNames,names);      });    }  };      return curd;});

比較常用的技巧

使用boostrapTable時候,選擇表格的行,返回的rows有很多,這時候需要過濾出我們需要的字段,可以用

 function getIdSelections() {    return $.map($table.bootstrapTable('getSelections'), function (row) {      return row.id      // 想返回什么字段就換成什么    });  }

當然,如果需要對選出的數據有限制篩選,用filter過濾也不錯

var arr = [1,2,3,4,5,4,3,2,1];var filterResult = arr.filter(function(item,index,array){  return (item>2);});console.log(filterResult);  //[3,4,5,4,3],返回所有數值都大于2的一個數組

相關討論

如果想了解更多細節,可以看看GitHub上的issue

如何保存用戶的復選框問題

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉寿县| 米脂县| 辽阳市| 通化县| 永修县| 阜新| 抚顺市| 六枝特区| 大庆市| 丰城市| 安龙县| 桓仁| 潼南县| 岐山县| 桃江县| 克什克腾旗| 丹江口市| 德兴市| 车致| 玉龙| 白山市| 尼勒克县| 泽州县| 彩票| 洪洞县| 云南省| 芒康县| 台安县| 全椒县| 乳山市| 阳新县| 米脂县| 郧西县| 巴彦淖尔市| 南宁市| 威海市| 玉山县| 普宁市| 息烽县| 澳门| 隆尧县|