效果:

效果圖
前面的小方塊是框架自帶的效果。
首先在html中綁定一個(gè)selectAll()點(diǎn)擊事件。
table style="width:100%;" class="table table-bordered table-striped table-hover js-basic-example dataTable">
<thead>
<tr>
<th class='select-checkbox' onclick="selectAll()">
<input type="checkbox" id="checkSelect" />
</th>
<th>編號(hào)</th>
<th>品牌</th>
<th>區(qū)域</th>
<th>位置信息</th>
<th>IP</th>
<th>端口</th>
<th>操作</th>
</tr>
</thead>
</table>
js部分:
var table;
var selectAllFlag = true;
var pageFlag = false;
function selectAll(){
$("input[type='checkbox']").prop("checked",selectAllFlag);
selectAllFlag = !selectAllFlag;
}
function deleteSelect() {
$('#deleteSelect').click(
function() {
var array = new Array();
var length=$("input:checkbox[name=id]:checked").length;
$("input:checkbox[name=id]:checked").each(function(){
array.push($(this).val())
});
if (length == 0) {
swal({
title : "批量刪除失敗",
text : "請(qǐng)先勾選需要?jiǎng)h除的數(shù)據(jù)",
type : "error",
showConfirmButton : false,
timer : 2000
});
} else {
swal(
{
title : "刪除賬號(hào)",
text : "<span style='color:#F44336;'>刪除操作后該記錄將被刪除,并且無(wú)法恢復(fù)</span>",
type : "info",
showCancelButton : true,
confirmButtonColor : "#2196F3",
confirmButtonText : "確定",
cancelButtonText : "取消",
closeOnConfirm : false,
html : true
}, function() {
for (var i = 0; i < array.length; i++) {
deleteCallback(array[i])
}
});
}
})
}
function buildTableConfigJson(operateCell) {
var configJson = {
"searching" : false,
"lengthChange" : false,
"pageLength" : 10,
ordering : false,
"serverSide" : true,
select : {
style : 'multi',
selector : 'td:first-child'
},
language : {
"lengthMenu" : "_MENU 條記錄每頁(yè)",
"zeroRecords" : "沒(méi)有找到記錄",
"info" : "記錄數(shù):_TOTAL_",
"infoEmpty" : "無(wú)記錄",
"infoFiltered" : "(從 _MAX_ )條記錄過(guò)濾",
"paginate" : {
"previous" : "上一頁(yè)",
"next" : "下一頁(yè)"
}
},
ajax : {
dataSrc : 'data',
complete : function() {
if (!pageFlag) {
table.page('previous').draw('page');
}
}
},
drawCallback : function(settings) {
if (table.page() > 0 && table.data().length == 0) {
pageFlag = false;
} else {
pageFlag = true;
}
},
columnDefs: [
{
orderable : false,
className : 'select-checkbox',
targets : 0,
render : function(data, type, row) {
return '<input class="checkchild" type="checkbox" name="id" value="'+row.id+'"/>';
}
},
{
targets : -1,
render : operateCell,
}
]
};
return configJson;
}
注意點(diǎn):
render : function(data, type, row) {
return '<input class="checkchild" type="checkbox" name="id" value="'+row.id+'"/>';
}
如果不加value取出來(lái)的值只有一個(gè)on,所以通過(guò)row.id把行數(shù)的id帶過(guò)去。