我有以下数据表。它有一个列列表。最后一列是一个复选框。
我想获取所有已选中复选框的行的列表吗?是否可以选中所有数据表行?我的数据表如下所示
$.fn.dataTable.moment('DD.MM.YYYY');
$('#bankReconDataListing tbody').off('click');
RECON_DATATABLE = $('#bankReconDataListing').DataTable({
"language": __DT,
"select": true,
"order": [
[1, "desc"]
],
"searchable": true,
"destroy": true,
"sAjaxSource": '/bankReconciliationGetData?coa=' + coa + '&toDate=' + toDate + '&fromDate=' + fromDate,
"sAjaxDataProp": "",
"bLengthChange": false,
"pageLength": 20,
"aoColumns": [{ //document date : 0
"mDataProp": null,
{ //Document type //5
//balance
"mDataProp": null,
render: function(data, type, row) {
return data.doctype;
}
},
render: function(data, type, row) {
return "<input type='checkbox' name='" + checkBoxName + "' data-tableinput='checkbox' " +
"id='checkBox" + reconJrnlId + "' value='" + reconJrnlId + "' checked='checked' />";
}
}],
"columnDefs": [],
"initComplete": function() {}
});
答案 0 :(得分:0)
为您的复选框列提供一个类名,例如checkboxclass。 然后,
$('.checkboxclass:checked',table.fnGetNodes()).each(function(){
//what you want to do
}
答案 1 :(得分:0)
您可以将事件处理程序附加到表中的复选框。每当单击复选框时,该行就会添加到数组中。如果未选中,则将其从阵列中删除。
这未经测试,但类似的东西应该可以工作:
let arr = [];
$("#tableDiv tbody").on("click", "input[type='checkbox']", function(e) {
let row = $(this).closest('tr');
// Get row data
let data = table.row(row).data();
if (this.checked) {
// Add to array
arr.push(data);
} else {
arr.splice(arr.indexOf(data), 1);
}
});
#tableDiv
只是表的容器。您可以根据应用程序使用其他合适的选择器。