我們在做Bootstap的web項目的時候,多少肯定會遇到需要批量修改,或者批量刪除的問題,如果遇到那就躲不開需要批量傳入數據的ID,那麼用Bootstrap怎樣實現數據ID的批量傳入控制器呢,下面我來給大家詳解。
比如圖一中的,激活,禁用和批量刪除,都是需要批量的向控制器中帶入一串數據。
解決方法:
這是批量刪除的按鈕
<button type="button" class="btn btn-danger" οnclick="batchDelete();">批量刪除</button>
function batchDelete(){
//獲取表格中的選中行,如果沒有選中行,return
var selRows = $table.bootstrapTable("getSelections");
if(selRows.length == 0){
alert("請選擇要刪除的信息");
return;
}
var postData = "";
$.each(selRows,function(i){
postData += "ids="+this.managerId;
if(i < selRows.length - 1){
postData += "&";
}
});
layer.confirm("確定要刪除選中的數據嗎?",{btn:["確定","考慮一下"]},function(index){
//ok
$.post("user/batchDelete",postData,function(data){
layer.close(index);
$table.bootstrapTable("refresh");
});
});
}
從傳值到調用控制器方法,總分爲三個部分,
第一個部分聲明一個var變量,用於判斷有沒有獲取點中的複選框,
var selRows = $table.bootstrapTable("getSelections");
然後做出判斷,如果沒有就return 爲空,停止往下走。
第二個部分是聲明一個拼接字符串,用於把接受到的參數拼接到一起,拼接成控制器可以接收的參數格式,做出判斷,如果他的位數小於他的值,那麼就在後面添加&分隔符。
最後部分就是把拼接好的字符類型通過異步POST方法傳送至控制器,並且關閉彈框,刷新表格。
刷新表格代碼
$table.bootstrapTable("refresh");
至此完成。