我有一个带有DataTable(datatables.net)的HTML页面,其中包含从数据库填充的数据。我想要完成的是能够点击数据表中的一行,当它被选中时,将数据表中包含的ID值存储到一个数组中供以后使用。如果未选择特定行,则将搜索该数组,并且将删除匹配的ID值。这是我到目前为止所尝试的。它似乎偶尔起作用:
$('#businessTable tbody').on('click', 'tr', function () {
var data = BusinessFileTable.row({ selected: true }).data();
if ($(this).hasClass('selected') == false) {
FullBusinessRecordIDs.push(data.BusinessID);
} else {
var index = FullBusinessRecordIDs.indexOf(data.BusinessID);
if (index > -1) {
FullBusinessRecordIDs.splice(index, 1);
}
}
});
有关我可以采取哪些措施来改进它的任何建议?有人知道那里的样品吗?
答案 0 :(得分:0)
我认为您应该在每个FullBusinessRecordIDs
/ select
事件中使用select扩展并重建deselect
:
var FullBusinessRecordIDs = [];
$('#example').on('select.dt deselect.dt', function() {
FullBusinessRecordIDs = [];
table.rows({ selected: true }).every(function() {
FullBusinessRecordIDs.push( this.data().BusinessID )
})
//how as demo string
$('#ids').val( FullBusinessRecordIDs.toString() )
})
演示 - >的 http://jsfiddle.net/4rnsq28s/ 强>