參考連接:bootstrap Table API 中文版css
Bootstrap Table 選中某幾行,獲取其數據ajax
一、首先將複選框搞出來,<table data-single-select="true"> 屬性,限制了只能單選。去除之後添加<th data-checkbox="true"></th>就能夠添加複選框的功能了。
因此將複選框搞出來之後,就開始將獲取到選擇的數據值了。bootstrap
1 <table id="table" class="base_viewTable" data-toggle="table" 2 data-locale="zh-CN" data-ajax="tableRequest" 3 data-side-pagination="server" data-striped="true" 4 data-single-select="true" data-click-to-select="true" 5 data-pagination="true" data-pagination-first-text="首頁" 6 data-pagination-pre-text="上一頁" data-pagination-next-text="下一頁" 7 data-pagination-last-text="末頁"> 8 <thead style="text-align: center;"> 9 <tr> 10 <th data-checkbox="true"></th><!--複選框--> 11 <th data-field="id" data-formatter="indexFormatter" data-width="40" data-halign="center" data-align="center">序號</th> 12 <th data-field="alias" data-halign="center" data-align="center">別名</th> 13 <th data-field="name" data-halign="center" data-align="center">名稱</th> 14 <th data-field="paramter" data-halign="center" data-align="center" data-width="100">參數</th> 15 <th data-field="status" data-formatter="statusFormatter" data-halign="center" data-align="center" data-halign="center" data-width="80">狀態</th> 16 <th data-field="updateTime" data-formatter="timeFormatter" data-halign="center" data-align="center" data-width="130">時間</th> 17 <th data-formatter="optFormatter" data-halign="center" data-align="center" data-width="110">操做</th> 18 </tr> 19 </thead> 20 </table>
效果圖:數組
其餘屬性簡單使用介紹:框架
更多其餘屬性,用的時候直接查看參考https://blog.csdn.net/liushuiziyouliu/article/details/80988458。此網友寫的以及很詳細了,這裏不重複轉載了。async
<table data-single-select="true"> 屬性,限制了只能單選。去除之後添加<th data-checkbox="true"></th>就能夠添加複選框的功能了。 <table data-click-to-select="true">屬性,單機每一行,能夠選中行首的單選框或者複選框哦。 <th data-checkbox="true"></th>屬性,複選框。能夠進行批量操做哦。默認false不顯示checkbox(複選框),設爲true則顯示,checkbox的每列寬度已固定。 <th data-radio="true"></th>屬性,單選框,能夠進行單條數據操做。默認false不顯示radio(單選按鈕),設爲true則顯示,radio寬度是固定的。 <th data-field="id"></th>屬性,是每列的字段名,不是表頭所顯示的名字,經過這個字段名能夠給其賦值,至關於key,表內惟一。 <th data-halign="center"></th>屬性,table header(表頭)的對齊方式,有:left(靠左)、right(靠右)、center(居中)。 <th data-align="center"></th>屬性。每格內數據的對齊方式,有:left(靠左)、right(靠右)、center(居中)。 <th data-width="100"></th>屬性。每列的寬度。詳細參考https://blog.csdn.net/liushuiziyouliu/article/details/80988458。 其餘屬性,用的時候直接查看參考https://blog.csdn.net/liushuiziyouliu/article/details/80988458。此網友寫的以及很詳細了,這裏不重複轉載了。
二、使用js處理獲取到的複選框數據,而後使用ajax將數據傳遞給struts的action。ide
1 function selectTen(){ 2 //獲取到本頁選擇的十條數據,使用getSelections便可得到,row是json格式的數據 3 var getSelectRows = $("#jobTable").bootstrapTable('getSelections', function (row) { 4 return row; 5 }); 6 //console.log(getSelectRows);//控制檯打印輸出,方便觀察值 7 var ids = new Array();//定義js數組用於存放本身所需的值 8 for(var i=0;i<getSelectRows.length;i++){ 9 ids[i] = getSelectRows[i].id; 10 } 11 //將表單元素數組或者對象序列化,是.serialize()的核心方法 12 var params = $.param({'ids' : ids},true); 13 //console.log(ids);//控制檯打印輸出,方便觀察值 14 BootstrapDialog.show({ 15 title : '批量操做確認提示', 16 message : '肯定批量操做記錄嗎?', 17 buttons : [ 18 { 19 cssClass : "btn-info", 20 label : '批量操做', 21 action : function(dialog) { 22 $.ajax({ 23 type : 'post', 24 url : "xxxAction!xxxAllForever.action", 25 dataType : 'json', 26 traditional : true, 27 data : params,//將表單元素數組或者對象序列化的數組值傳遞到後臺。 28 async : false, 29 error : function(request, textStatus, 30 errorThrown) { 31 fxShowAjaxError(request, textStatus, 32 errorThrown); 33 }, 34 success : function(data) { 35 dialog.close(); 36 $.alert(data.result); 37 searchJob(); 38 } 39 }); 40 } 41 }, { 42 cssClass : "base_btn-bluecyan", 43 label : '關閉', 44 action : function(dialog) { 45 dialog.close(); 46 } 47 } ] 48 }); 49 }
三、因爲公司框架仍是使用的struts,因此在action裏面定義一個private ArrayList<Integer> ids;變量。
Action中List的定義:
經過使用param方法的處理,在action中ids的類型無論是數組仍是list都可以正確的接收到這些id了。
ps:必定不要忘了setter方法! 我習慣性加的setter和getter方法。post
private ArrayList<Integer> ids; public ArrayList<Integer> getIds() { return ids; } public void setIds(ArrayList<Integer> ids) { this.ids = ids; } public String xxxAllForever() { //System.out.println(ids); String result = null; if(ids.size() > 0) { for(int i=0;i<ids.size();i++) { result = xxxService.stopxxx(ids.get(i)); } } dataMap.put("result", result); return SUCCESS; }
待續......ui