BootstrapTable,選中某幾行,獲取其數據並進行后台處理。以及其他的屬性使用。


參考鏈接:bootstrap Table API 中文版

Bootstrap Table 選中某幾行,獲取其數據

Ajax傳遞數組,struts2接收數組

1、首先將復選框搞出來,<table data-single-select="true"> 屬性,限制了只能單選。去除以后添加<th data-checkbox="true"></th>就可以添加復選框的功能了。
所以將復選框搞出來以后,就開始將獲取到選擇的數據值了。

 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。此網友寫的以及很詳細了,這里不重復轉載了。

<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。此網友寫的以及很詳細了,這里不重復轉載了。

2、使用js處理獲取到的復選框數據,然后使用ajax將數據傳遞給struts的action。

 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 }

 3、由於公司框架還是使用的struts,所以在action里面定義一個private ArrayList<Integer> ids;變量。
Action中List的定義:
通過使用param方法的處理,在action中ids的類型不管是數組還是list都能夠正確的接收到這些id了。
ps:一定不要忘了setter方法! 我習慣性加的setter和getter方法。

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;
}

 

待續......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM