有一个id为#surch的搜索字段和一个包含很多tr的表,在keyup
上我想要隐藏所有不包含在#surch中输入的字符串的表tr。我将<script src...>
嵌入到我网站的所有文件中,并且在index.php
上工作正常;在所有其他子页面上,它仅在页面重新加载后工作。
任何人都能给我一些帮助,这让我发疯了。我试图添加一个PHP函数,每次都增加javascript源代码(...sufu.js?updated=266
),但它没有解决我的问题。
编辑:我也在我的网页上运行了google adsense,这也是同样的问题。 adsense刚刚重新加载后运行。任何想法?
var $rows = $('#table tr');
$('#surch').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$rows.show().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).hide();
});
答案 0 :(得分:0)
在这个JSFiddle中,这对我来说很好。 Try it out.
<input type=text id='surch'>
<table id='table'>
<tr><td>x</td></tr>
<tr><td>y</td></tr>
<tr><td>z</td></tr>
<tr><td>p</td></tr>
</table>
当然我假设你的表有一个id'表',你的$ rows选择器需要它。否则你只需选择$('table tr')。
(编辑:同样,是的,我假设您的JS在文档加载时运行。)