我在网格视图中使用此代码,但它只是过滤了一个 我的网格视图的列。 我想在此代码中添加其他列,我正在使用它进行循环,但代码无法正常工作。
如何更改此代码以在其他列而非一列中实现过滤?
有一个列过滤代码:
$(document).ready(function () {
//
// Client Side Search (Autocomplete)
// Get the search Key from the TextBox
// Iterate through the 1st Column.
// td:nth-child(1) - Filters only the 1st Column
// If there is a match show the row [$(this).parent() gives the Row]
// Else hide the row [$(this).parent() gives the Row]
{ $('#filter').keyup(function (event) {
var searchKey = $(this).val();
$("#gvwHuman_ctl00 tr td:nth-child(4)").each(function () {
var cellText = $(this).text();
if (cellText.indexOf(searchKey) >= 0) {
$(this).parent().show();
}
else {
$(this).parent().hide();}
});
});
});
所有列都有代码:
$(document).ready(function () {
//
// Client Side Search (Autocomplete)
// Get the search Key from the TextBox
// Iterate through the 1st Column.
// td:nth-child(1) - Filters only the 1st Column
// If there is a match show the row [$(this).parent() gives the Row]
// Else hide the row [$(this).parent() gives the Row]
{ $('#filter').keyup(function (event) {
var searchKey = $(this).val();
for(i=0;i<5;++i)
{ $("#gvwHuman_ctl00 tr td:nth-child(i)").each(function () {
var cellText = $(this).text();
if (cellText.indexOf(searchKey) >= 0) {
$(this).parent().show();
}
else {
$(this).parent().hide();}
});
}); }
});
答案 0 :(得分:1)
替换它:
for(i=0; i<5; ++i) {
$("#gvwHuman_ctl00 tr td:nth-child(i)").each(function () {
有了这个:
for(i=1; i<6; ++i) {
$("#gvwHuman_ctl00 tr td:nth-child(" + i + ")").each(function () {
i
实际上是一个javascript变量,但它在代码中被解释为一个字符串。此外,:nth-child() Selector
以1开头,因此我们也需要修改for循环。