2014-12-05 86 views
0

一个TD的jQuery选择行我写一些jQuery的那个回合的数据表http://www.datatables.net/ 行成可点击的链接。点击后,jquery从隐藏的第一列获取值并将其附加到链接。没有一个定义

我有这方面的工作,但是,如果没有记录返回。它仍然会生成一个可点击的行,但它没有值,会创建一个死链接。

所以,我要让所有的行可点击除非没有记录返回的一个创造。

如果没有记录返回的行包含有一类=“dataTables_empty”的小区。所以我想排除这一行。

,所以我需要指定一个选择,让我选择,除了与一类dataTables_empty的TD排表中的所有行。 这是我的尝试,如果有人可以帮助我,这将不胜感激。

$("#table_list").on("click", "tbody tr:not('td .dataTables_empty')", function (e) { 
     var id = table.fnGetData(this, 0); 
     document.location.href = "test.cshtml?ID=" + id;   
}); 
+0

' “TBODY TR:不是( 'TD .dataTables_empty')”'=>' “TBODY TR:不是( 'td.dataTables_empty')”' – SachinGutte 2014-12-05 08:33:18

回答

0

您可以使用:has联合你:not

$("#table_list").on("click", "tbody tr:not(:has(.dataTables_empty))", function (e) { 
     var id = table.fnGetData(this, 0); 
     document.location.href = "test.cshtml?ID=" + id;   
}); 
+0

许多用于快速response..You感谢救了我 – user1222646 2014-12-05 08:46:51

0

这似乎工作:

$("#table_list").on("click", "tbody tr:not('> td.dataTables_empty')", function (e) { 
     var id = table.fnGetData(this, 0); 
     document.location.href = "test.cshtml?ID=" + id;   
}); 

你也可以使用由数据表提供的渲染方法来呈现每个列一个实际的链接,并且你不需要将jquery绑定到由数据表生成的任何单元格。 http://datatables.net/reference/option/columns.render

$('#example').dataTable({ 
    "columnDefs": [ { 
    "targets": 0, 
    "data": "download_link", 
    "render": function (data, type, full, meta) { 
     var id =full[0]; 
     return "<a href='test.cshtml?ID="+ id +"'>"+data+"</a>"; 
    } 
    } ] 
});