我们在做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");
至此完成。