bootstrap table插件的分頁與checkbox使用詳解
今天需要實(shí)現(xiàn)這樣一個(gè)功能,有checkbox列表可供選擇,要選擇不分頁之間的行并保存
最終實(shí)現(xiàn)的功能如圖:(圖片來自網(wǎng)上)
具體實(shí)現(xiàn)
首先,來看具體的代碼,這里只截取實(shí)現(xiàn)功能所需代碼
var selectionIds =[],selectionNames=[]; var curd = { init:function(){ this._getCheckParam(); }, /** * 初始化 * @private */ /** * 表格操作 */ //表格分頁之前處理多選框數(shù)據(jù) _responseHandler:function()(res) { $.each(res.rows, function (i, row) { row.checkStatus = $.inArray(row.id, selectionIds) != -1; //判斷當(dāng)前行的數(shù)據(jù)id是否存在與選中的數(shù)組,存在則將多選框狀態(tài)變?yōu)閠rue }); return res; }, _list:function(){ var _this = this var settings = { url:Path.searchUrl, method:'GET', responseHandler:_this.responseHandler, //在渲染頁面數(shù)據(jù) 之前執(zhí)行的方法 height:Path.tbheight }; bsTable.initTable("#boostrapTable",settings); // 其它的boostrapTable參數(shù)已經(jīng)封裝在bsTable里面了,這里就不貼出來了 }, /** * 獲取選中ID * @returns {*} * @private */ _getIdSelections:function() { // 用map進(jìn)行過濾 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; }; //取消選中事件操作數(shù)組 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時(shí)候,選擇表格的行,返回的rows有很多,這時(shí)候需要過濾出我們需要的字段,可以用
function getIdSelections() { return $.map($table.bootstrapTable('getSelections'), function (row) { return row.id // 想返回什么字段就換成什么 }); }
當(dāng)然,如果需要對選出的數(shù)據(jù)有限制篩選,用filter過濾也不錯(cuò)
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],返回所有數(shù)值都大于2的一個(gè)數(shù)組
相關(guān)討論
如果想了解更多細(xì)節(jié),可以看看GitHub上的issue
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- bootstrap table表格插件之服務(wù)器端分頁實(shí)例代碼
- bootstrap table 服務(wù)器端分頁例子分享
- bootstrap-table后端分頁功能完整實(shí)例
- Bootstrap table分頁問題匯總
- 第一次動(dòng)手實(shí)現(xiàn)bootstrap table分頁效果
- BootStrap中Table分頁插件使用詳解
- BootStrap Table前臺(tái)和后臺(tái)分頁對JSON格式的要求
- bootstrap table分頁模板和獲取表中的ID方法
- 使用bootstraptable插件實(shí)現(xiàn)表格記錄的查詢、分頁、排序操作
- bootstrap-table實(shí)現(xiàn)服務(wù)器分頁的示例 (spring 后臺(tái))
- BootStrap Table后臺(tái)分頁時(shí)前臺(tái)刪除最后一頁所有數(shù)據(jù)refresh刷新后無數(shù)據(jù)問題
- Bootstrap table 服務(wù)器端分頁功能實(shí)現(xiàn)方法示例
相關(guān)文章
BootStrap使用file-input插件上傳圖片的方法
這篇文章主要介紹了BootStrap使用file-input插件上傳圖片的方法,bootstrap的圖片上傳框架 file-input 插件非常不錯(cuò),下面小編通過本文介紹下這個(gè)插件的使用方法,感興趣的朋友一起看看吧2016-09-09微信小程序用swiper實(shí)現(xiàn)滑動(dòng)刻度尺
這篇文章主要為大家詳細(xì)介紹了微信小程序用swiper實(shí)現(xiàn)滑動(dòng)刻度尺,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06點(diǎn)擊單元格后可編輯單元格內(nèi)文本如何制作
點(diǎn)擊單元格后可編輯單元格內(nèi)文本如何制作...2006-10-10JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空
表單驗(yàn)證幾乎在每個(gè)需要注冊或者是登錄的網(wǎng)站都是必不可少,下面通過本篇文章給大家介紹JavaScript表單驗(yàn)證實(shí)例之驗(yàn)證表單項(xiàng)是否為空,涉及到j(luò)s表單驗(yàn)證實(shí)例相關(guān)知識(shí),對js表單驗(yàn)證實(shí)例代碼需要的朋友一起學(xué)習(xí)吧2016-01-01js父窗口關(guān)閉時(shí)子窗口隨之關(guān)閉完美解決方案
admin注銷的時(shí)候,或者main.html關(guān)閉的時(shí)候,如何讓打開的所有新窗口一起關(guān)閉,下面有個(gè)不錯(cuò)的解決方案,大家可以參考下2014-04-04詳解webpack和webpack-simple中如何引入css文件
這篇文章主要介紹了詳解webpack和webpack-simple中如何引入css文件,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06WebSocket的通信過程與實(shí)現(xiàn)方法詳解
這篇文章主要給大家愛介紹了關(guān)于WebSocket的通信過程與實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧2018-04-04