【发布时间】:2020-01-21 17:21:16
【问题描述】:
我有一个带有复选框的标准 DataTable,但我不知道如何计算在更改时检查整个数据集的复选框数量。
插件:https://www.gyrocode.com/projects/jquery-datatables-checkboxes/
HTML:
<table id="myTable" width="100%">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>01</td>
<td>Alpha</td>
</tr>
<tr>
<td></td>
<td>02</td>
<td>Bravo</td>
</tr>
<tr>
<td></td>
<td>03</td>
<td>Charlie</td>
</tr>
<tr>
<td></td>
<td>04</td>
<td>Delta</td>
</tr>
<tr>
<td></td>
<td>05</td>
<td>Echo</td>
</tr>
</tbody>
</table>
JS:
resultsTable = $("#myTable").DataTable({
"columnDefs": [
{
"targets" : 0,
"checkboxes": true,
"orderable": false
}
],
"select": {
"style": "multi"
},
"order": [[3, 'asc']]
});
表格渲染得很好,在 tbody 和 thead 中有复选框。我可以在 DataTable init 之外编写简单的 onChange 函数,但它只检测在表的可见页面上选中或未选中的复选框。
resultsTable.on('change', 'input[type="checkbox"]', function(e){
var numChecked = $("#results-table").find("input[type='checkbox']:checked").length;
console.log(numChecked);
});
我如何或在哪里可以编写一个函数,当复选框被更改时触发,然后返回表中被选中的复选框的总数?
【问题讨论】:
标签: javascript jquery checkbox datatables onchange