如何从行点击事件

时间:2017-09-26 04:15:16

标签: javascript jquery datatables

我有一个带有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);
        }
    }

});

有关我可以采取哪些措施来改进它的任何建议?有人知道那里的样品吗?

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/