数据表选择所有复选框
选择全部的演示并不真正起作用。 https://datatables.net/extensions/select/examples/initialisation/checkbox.html
在通过columnDef
属性创建后,实现全选复选框的最佳方法是什么?
这应该适合你:
let example = $('#example').DataTable({ columnDefs: [{ orderable: false, className: 'select-checkbox', targets: 0 }], select: { style: 'os', selector: 'td:first-child' }, order: [ [1, 'asc'] ] }); example.on("click", "th.select-checkbox", function() { if ($("th.select-checkbox").hasClass("selected")) { example.rows().deselect(); $("th.select-checkbox").removeClass("selected"); } else { example.rows().select(); $("th.select-checkbox").addClass("selected"); } }).on("select deselect", function() { ("Some selection or deselection going on") if (example.rows({ selected: true }).count() !== example.rows().count()) { $("th.select-checkbox").removeClass("selected"); } else { $("th.select-checkbox").addClass("selected"); } });
我已经添加到CSS了:
table.dataTable tr th.select-checkbox.selected::after { content: "✔"; margin-top: -11px; margin-left: -4px; text-align: center; text-shadow: rgb(176, 190, 217) 1px 1px, rgb(176, 190, 217) -1px -1px, rgb(176, 190, 217) 1px -1px, rgb(176, 190, 217) -1px 1px; }
工作JSFiddle ,希望有所帮助。
您可以对jQuery Datatables使用Checkboxes扩展。
var table = $('#example').DataTable({ 'ajax': 'https://api.myjson.com/bins/1us28', 'columnDefs': [ { 'targets': 0, 'checkboxes': { 'selectRow': true } } ], 'select': { 'style': 'multi' }, 'order': [[1, 'asc']] });
有关代码和演示,请参阅此示例 。
有关更多示例和文档,请参阅Checkboxes项目页面。
您可以使用dataTable本身使用按钮提供此选项 。
dom: 'Bfrtip', buttons: [ 'selectAll', 'selectNone' ]'
这是一个示例代码
var tableFaculty = $('#tableFaculty').DataTable({ "columns": [ { data: function (row, type, set) { return ''; } }, {data: "NAME"} ], "columnDefs": [ { orderable: false, className: 'select-checkbox', targets: 0 } ], select: { style: 'multi', selector: 'td:first-child' }, dom: 'Bfrtip', buttons: [ 'selectAll', 'selectNone' ], "order": [[0, 'desc']] });