我需要从
Jquery Datatables的隐藏列中获取已选中复选框的值(在第一个可见列中).到目前为止我已经有了
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);