5
我需要從已選中複選框(位於第一個可見列中)的Jquery Datatables的隱藏列中獲取值。到目前爲止,我已經得到了如何從JQuery數據表中獲取包含複選框的行
bodytable$ = $('#dataTable').dataTable({
"bJQueryUI" : true,
"bPaginate" : true,
"bSort" : false,
"bFilter": false,
"aoColumns": [{"bVisible": false},
{"bVisible": true},
{"bVisible": true},
{"bVisible": true}],
"oLanguage": {
"sEmptyTable": '',
"sInfoEmpty": '',
"sZeroRecords": ''
}
});
,我與
var checkIds = [];
$('input[type="checkbox"]:checked', bodytable$.fnGetNodes()).each(function(i){
var tr = $(this).closest('tr');
var rowData = bodytable$.fnGetData(tr);
checkIds.push(rowData[0]);
});
alert(checkIds);
這無法上線 VAR rowData = bodytable $ .fnGetData(TR)正從隱藏的列中的值; 與Firefox調試給出的錯誤消息TypeError:a.nodeName是未定義的
我必須經過DataTable API,因爲隱藏的列實際上並沒有出現在加載到瀏覽器中的HTML,因爲我想成爲能夠在所選複選框不在同一頁面上時選擇數據值。
繼從mainguys響應,並使用CSS來隱藏列而不是bVisible屬性,我現在可以得到我想要的;
var checkIds = [];
$('input[type="checkbox"]:checked', bodytable$.fnGetNodes()).each(function(i){
var tr = $(this).closest('tr');
checkIds.push($(tr).find('td:eq(0)').text());
});
alert(checkIds);
你先生是個天才!正如你所說,訣竅是用CCS而不是dataTable bVisible屬性來隱藏列。現在這留下了HTML中的列,我編輯了我的問題以提供我的最終解決方案。 – user497087