批量处理的基本思路:js代码中获取每个被select的id,ajax传递后台,后台循环获取参数,进行删除操作
//定义一个全局数组,保存被选中的id
var myArray = new Array();
var status = false;
myTable.on('select', function(e, dt, type, index) {
if (type === 'row') {
$(myTable.row(index).node()).find('input:checkbox').prop(
'checked', true);
status = true;
}
});
myTable.on('deselect', function(e, dt, type, index) {
if (type === 'row') {
$(myTable.row(index).node()).find('input:checkbox').prop(
'checked', false);
status = false;
}
});
/
//table checkboxes
$('th input[type=checkbox], td input[type=checkbox]').prop('checked',
false);
//select/deselect all rows according to table header checkbox
$(
'#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]')
.eq(0).on('click', function() {
var th_checked = this.checked;//checkbox inside "TH" table header
$('#dynamic-table').find('tbody > tr').each(function() {
var row = this;
if (th_checked) {
myTable.row(row).select();
myArray.push(row.cells[1].innerHTML);
}
else {
myTable.row(row).deselect();
var val = row.cells[1].innerHTML;
removeByValue(myArray, val);
}
});
});
function removeByValue(arr, val) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] == val) {
arr.splice(i, 1);
break;
}
}
}
//select/deselect a row when the checkbox is checked/unchecked
$('#dynamic-table').on('click', 'td input[type=checkbox]', function() {
var row = $(this).closest('tr').get(0);
if (this.checked) {
myTable.row(row).deselect();
var val = row.cells[1].innerHTML;
removeByValue(myArray, val);
}
else {
myTable.row(row).select();
myArray.push(row.cells[1].innerHTML);
}
});
$("#delete")
.click(
function() {
if (myArray.length == 0 && status == false) {
alert("您还没有选中~");
return;
}
if (window.confirm("确定要删除吗?")) {
$
.ajax({
url : "/TA/pro_del",
async : true,
type : "POST",
data : {
ids : JSON.stringify(myArray)
},
dataType : 'json',
success : function(data) {
if (data == 1)
alert("删除成功");
else
alert("删除失败");
},
error : function(data) {
alert("删除成功");
window.location.href = "http://localhost:8080/TA/pro_adminlist";
},
});
} else {
return;
}
});
后台代码:
public String del() throws IOException {
String ids = ServletActionContext.getRequest().getParameter("ids");
JSONArray ary = JSONArray.fromObject(ids);
List<String> list = null;
if (ary != null || ary.size() != 0) {
list = (List<String>) JSONArray.toCollection(ary);
}
try {
for (String id : list) {
fundProService.delete(id);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(JSONArray.fromObject(1).get(0).toString());
System.out.println(JSONArray.fromObject(1).get(0).toString());
return "pro";
}