今天需要實(shí)現(xiàn)這樣一個(gè)功能,有checkbox列表可供選擇,要選擇不分頁(yè)之間的行并保存
為新建等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及新建網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、新建網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
最終實(shí)現(xiàn)的功能如圖:(圖片來(lái)自網(wǎng)上)
具體實(shí)現(xiàn)
首先,來(lái)看具體的代碼,這里只截取實(shí)現(xiàn)功能所需代碼
var selectionIds =[],selectionNames=[]; var curd = { init:function(){ this._getCheckParam(); }, /** * 初始化 * @private */ /** * 表格操作 */ //表格分頁(yè)之前處理多選框數(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, //在渲染頁(yè)面數(shù)據(jù) 之前執(zhí)行的方法 height:Path.tbheight }; bsTable.initTable("#boostrapTable",settings); // 其它的boostrapTable參數(shù)已經(jīng)封裝在bsTable里面了,這里就不貼出來(lái)了 }, /** * 獲取選中ID * @returns {*} * @private */ _getIdSelections:function() { // 用map進(jìn)行過(guò)濾 return $.map($('#bootstrapTable').bootstrapTable('getSelections'), function (row) { return row.id }); }, /** * 獲取選中對(duì)象并顯示 * @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í)候需要過(guò)濾出我們需要的字段,可以用
function getIdSelections() { return $.map($table.bootstrapTable('getSelections'), function (row) { return row.id // 想返回什么字段就換成什么 }); }
當(dāng)然,如果需要對(duì)選出的數(shù)據(jù)有限制篩選,用filter過(guò)濾也不錯(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
如何保存用戶的復(fù)選框問(wèn)題
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享文章:bootstraptable插件的分頁(yè)與checkbox使用詳解
網(wǎng)頁(yè)URL:http://aaarwkj.com/article42/pjceec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、小程序開發(fā)、微信公眾號(hào)、域名注冊(cè)、品牌網(wǎng)站制作、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)