這裏是代碼,對於這類問題的工作:
var tableUsers = $('#showUsersTable').DataTable({
searching:false,
"sPaginationType": "full_numbers",
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bSort": false,
"bInfo": true,
"bAutoWidth": false,
"bProcessing": true
});
首先實例數據表。這些屬性並不重要,我需要它們用於其他的東西。
var rows = tableUsers.rows({ 'search': 'applied' }).nodes();
這個變量rows
包含所有td
元素,即使它們沒有顯示在頁面上,並且在DOM無形。
$('input[type="checkbox"]', rows).each(function(i,e){
$(e).change(function(){
var checkBoxC = [];
var cbChecked = new Array();
$('input[type="checkbox"]:checked', rows).each(function(o,a){
checkBoxC[checkBoxC.length]=$(a).val();
$.each(checkBoxC, function(h, el){
if($.inArray(el, cbChecked) === -1) cbChecked.push(el);
});
});
$("input#cbChecked").val(cbChecked.join());
});
});
由於cbChecked
聲明中change
功能,我需要把它的數值爲隱藏DOM元素(input#cbChecked
),所以我可以使用它的變化的功能範圍。
Poz Ognjen,去檢查[這個小提琴](https://jsfiddle.net/gyrocode/07Lrpqm7/),你會看到如何從數據表實例中獲取所有錶行。他使用:'var rows = table.rows({'search':'applied'})。nodes();',than'$('input [type =「checkbox」]',rows)' – skobaljic
This helps,非常感謝。 – Ognj3n
您可以發佈自己的問題的答案,它可以幫助他人。 – skobaljic