Bootstrap table 跨頁全選
阿新 • • 發佈:2018-04-17
AR Nid size ret 裏的 true cti reat return
此代碼是針對於bootstrap table中分頁的跨頁全選。
以下是整個bootstrap的定義
<script type="text/javascript" src="http://cdn.jsdelivr.net/lodash/3.8.0/lodash.min.js"></script>//一定要引用這個js不然文檔加載函數中的的_[func]不會生效
$table.bootstrapTable({ method: ‘get‘, url: queryUrl, toolbar:‘#toolbaruser‘, //工具按鈕用哪個容器 height: $(window).height() - 220, striped: false, //是否顯示行間隔色 pagination: true, singleSelect: false, //是否多選 pageSize: 10, pageNumber: 1, showRefresh:true, pageList: [10], search: false, //不顯示 搜索框 // showColumns: true, //不顯示下拉框(選擇顯示的列) sidePagination: "server", //服務端請求 queryParams: queryParams, showToggle: true, clickToSelect: true, responseHandler: responseHandler, //這裏是引用的下面的responseHandler方法
// showExport: true, // exportDataType: "basic", minimunCountColumns: 2, columns: [{ field: ‘state‘, checkbox: true }, { //field: ‘Number‘,//可不加 title: ‘序號‘, //標題 可不加 formatter: function (value, row, index) { return index + 1; } } , { title: ‘流水號‘, field: ‘Id‘, sortable: true }, { field: ‘UserName‘, title: ‘用戶名‘, sortable: true }, { field: ‘Number‘, title: ‘工號/學號‘, sortable: true }, { field: ‘CreateName‘, title: ‘創建人‘, sortable: true }, { field: ‘CreateTime‘, title: ‘創建時間‘, sortable: true }, { field: ‘State‘, title: ‘狀態‘, sortable: true, formatter: function (value, row) { return stateFormatter(value, row); } } ], onLoadSuccess: function () { }, onLoadError: function () { mif.showErrorMessageBox("數據加載失敗!"); } });
在文檔就緒函數中添加如下代碼:
$(function () { $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) { debugger return row.Id; //註意這裏的row.id 中的id指的是列表的主鍵,替換成你使用的就行了比如 studentId等 }); debugger func = $.inArray(e.type, [‘check‘, ‘check-all‘]) > -1 ? ‘union‘ : ‘difference‘; selectionIds = _[func](selectionIds, ids); }); });
添加responseHandler方法
此方法在bootstrap table中有定義,一定要加上
function responseHandler(res) { debugger $.each(res.rows, function (i, row) { //註意這裏的row.id 中的id指的是列表的主鍵,替換成你使用的就行了比如 studentId等 row.state = $.inArray(row.Id, selectionIds) !== -1; }); return res; }
下面是全選按鈕以及取消全選的click事件:
click事件的目的是獲取bootstrap table中的所有數據的id
function checkall() { $.ajax({ //async: false, type: "POST", data: { State: $("#organization").val(), OrgCode: $("#userrole").val(), RoleCode: $("#name").val(), UserName: $("#number").val() }, url: ‘GetAll‘, dataType: ‘text‘, success: function (data) { console.log(data) selectionIds.splice(0, selectionIds.length); //清空selectionIds數組 var arr = data.split(‘,‘); console.log(arr); for (var i = 0; i < arr.length; i++) { selectionIds.push(parseInt(arr[i])); } console.log(selectionIds) query(); //query方法的目的主要是刷新表格 } }); }
function cancel() {
selectionIds.splice(0, selectionIds.length); //
console.log(selectionIds)
query();
}
function query() { $table.bootstrapTable(‘refresh‘); }
以上就是bootstraptable的跨頁全選,代碼沒貼完,但是認真讀了,是沒有問題的。
eg:此博客是本人原創,轉載請註明出處。
Bootstrap table 跨頁全選