2017-09-26 49 views
0

我有一個帶有DataTable(datatables.net)的HTML頁面,數據從數據庫填充。我試圖完成的是能夠點擊數據表中的一行,並且當它被選中時,將包含在數據表中的ID值存儲到數組中供以後使用。如果一個特定的行未被選中,數組將被搜索,並且匹配的ID值將被刪除。這是我到目前爲止所嘗試過的。它似乎零星地工作:如何在行單擊事件中從DataTable行獲取值

$('#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

你怎麼添加選定類? – madalinivascu

+1

你有沒有試過[this](https://datatables.net/examples/advanced_init/events_live.html)? –

回答

0

我認爲你應該每個select/deselect事件中使用select延伸和重建FullBusinessRecordIDs

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/

相關問題