在加载时选择数据表的特定行

时间:2015-07-08 18:23:12

标签: jquery asp.net datatable

我尝试在我的视图中使用数据表(请参阅Datatables)

我的问题是我想选择一个包含值的特定行。 例如,如果有一个包含一列和两行的表格,则最后一个单元格包含" first"和第二个"第二个",我想迭代,如果我找到值"第二个"我想选择这一行。

我尝试的是:

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");
        }
    });

所有这些都没有结果,没有任何反应。

你知道我怎么做吗?我会非常感谢任何建议。

2 个答案:

答案 0 :(得分:3)

添加以下jquery脚本:

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

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

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

fiddle

答案 1 :(得分:0)

也许您试图仅在特定行上添加一个类。您可以在下面尝试我的代码:

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

rowCallback函数允许您在为每个表格绘制生成行之后,但在将其呈现到文档之前,对每一行进行“后处理”。这意味着如果行中的内容尚未在文档中,则它可能没有尺寸(例如,$()。width())。(1