Select 加载数据表的特定行

Select a specific row of a datatable on load

我尝试在我看来使用数据tables(参见Datatables)

我的问题是我想 select 包含一个值的特定行。 例如,如果有一个 table 包括一列和两行,并且第一个单元格包括 "first" 和第二个 "second",我想迭代,如果我找到值 "second" 我要select这一行

我试过的是:

table.column(0).data().each(function (value, index) {
        if (value == 'second') {
            table.row(index).addClass('selected');
        }
    });

table.rows().indexes().each(function (i) {
        var r = table.row(i);
        if (r.data().category == 'second') {
            r.node().to$().addClass("active");
        }
    });

table.rows().each(function (i) {
        var r = table.row(i);
        if ($(this).text() == 'second') {
            alert('test');
            r.node().to$().addClass("active");
        }
    });

所有这些都没有结果,什么也没有发生。

你知道我该怎么做吗?如果有任何建议,我将不胜感激。

添加以下 jquery 脚本:

这里'#example'是数据表的id。

$('#example td').each(function() {
        var cellText = $(this).html();    

        if(cellText == 'second'){
         $(this).closest('tr').addClass("selected");
        }
});

fiddle

也许您正在尝试仅在特定行上添加 class。您可以在下面尝试我的代码:

rowCallback: function (row, data) {
                            if (something == true) {
                                table.row(row).select()
                            }
                        },

rowCallback 函数允许您 'post process' 在为每个 table 绘制生成每一行之后,但在将其呈现到文档中之前。这意味着该行的内容可能没有维度(例如 $().width()),如果它不在文档中的话。(1)