【问题标题】:Select a specific row of a datatable on load在加载时选择数据表的特定行
【发布时间】:2015-07-08 18:23:11
【问题描述】:

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

我的问题是我想选择一个包含值的特定行。 例如,如果有一个包含一列和两行的表格,并且 forst 单元格包含“第一”和第二个“第二”,我想迭代,如果我找到值“第二”,我想选择这一行。

我尝试的是:

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

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

你知道我该怎么做吗?如果有任何建议,我将非常感谢。

【问题讨论】:

  • 查看 .each 迭代器的 jQuery 文档。 api.jquery.com/each 您要查找的值实际上是每次迭代中 $(this) 上的 .text() 。
  • 不知道怎么选择一行,具体的命令。
  • 检查行是否包含绑定时的值(RowDataBound 事件)并选择它(将 .SelectedIndex 属性设置为行索引)不是更简单。假设您使用的是 gridview,无论如何
  • 我不知道 RowDataBound 是什么。我包含了一些 jquery 文件并构建了一个 html 表,之后它是可选择的。但我不知道如何找到特定行并选择它。我可以选择第一行但不是特定的

标签: jquery asp.net datatable


【解决方案1】:

添加以下 jquery 脚本:

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

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

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

fiddle

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 2016-12-18
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多