允许为显示的每个数据表选择一次行

时间:2015-04-01 14:27:48

标签: javascript jquery datatables

我正在使用datatables.js https://www.datatables.net/并遇到了一个问题,我希望用户为所显示的覆盖表选择一行。

我已经尝试了几件事情,但无法使其正常工作,我的脚本会检查所有数据表而不是您选择的数据表。我明白这一点,因为在我的代码中我获取了所有表格使用var table = $('table').DataTable();

但是我不知道如何指定它所以检查是否在数据表中的一行上设置了selected类。

var table = $('table').DataTable();

$('table tbody').on( 'click', 'tr', function () {
    if ( $(this).hasClass('selected') ) {
        $(this).removeClass('selected');
    }
    else {
        table.$('tr.selected').removeClass('selected');
        $(this).addClass('selected');
    }
} );

1 个答案:

答案 0 :(得分:1)

on()事件中获取行的表,而不是使用在函数外部定义的表。

<强>代码

$('table tbody').on( 'click', 'tr', function () {
    var table = $(this).closest("table");
    if ( $(this).hasClass('selected') ) {
        $(this).removeClass('selected');
    }
    else {
        table.$('tr.selected').removeClass('selected');
        $(this).addClass('selected');
    }
} );