打击是对表格的基本过滤搜索。目前,它会过滤并搜索整个表格(thead& tbody)。有没有办法让这个脚本只搜索tbody?我想从过滤后的结果中排除thead,我尝试将“id =”kwd_search“”附加到而不是标记,但它使脚本无法运行。另一个我不想做的是在找到结果时将表行缩小。
非常感谢任何帮助,感谢阅读。 Here is a live demo of what I have。我真的很慢这个东西,所以如果我能得到一个现场的例子,如果没有太大的麻烦我真的很好。
// When document is ready: this gets fired before body onload <img src='http://blogs.digitss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
$(document).ready(function(){
// Write on keyup event of keyword input element
$("#kwd_search").keyup(function(){
// When value of the input is not blank
if( $(this).val() != "")
{
// Show only matching TR, hide rest of them
$("#my-table tbody>tr").hide();
$("#my-table td:contains-ci('" + $(this).val() + "')").parent("tr").show();
}
else
{
// When there is no input or clean again, show everything back
$("#my-table tbody>tr").show();
}
});
});
// jQuery expression for case-insensitive filter
$.extend($.expr[":"],
{
"contains-ci": function(elem, i, match, array)
{
return (elem.textContent || elem.innerText || $(elem).text() || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
答案 0 :(得分:4)
我不想调试contains-ci
方法。可以用filter()
// When document is ready: this gets fired before body onload <img src='http://blogs.digitss.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
$(document).ready(function() {
/* cache td elements to improve search performance*/
var $rows=$("#my-table tbody>tr"), $cells=$rows.children();
// Write on keyup event of keyword input element
$("#kwd_search").keyup(function() {
var term = $(this).val()
// When value of the input is not blank
if(term != "") {
// Show only matching TR, hide rest of them
$rows.hide();
$cells.filter(function() {
return $(this).text().toLowerCase().indexOf(term) > -1;
}).parent("tr").show();
} else {
// When there is no input or clean again, show everything back
$rows.show();
}
});
});