1

有一个带有 id #surch 的搜索字段和一个包含很多 tr´s 的表,keyup我想隐藏所有不包含在 #surch 中输入的字符串的表 tr´s。我将它嵌入<script src...>到我网站的所有文件中,它在我的index.php; 在所有其他子页面上,它仅在页面重新加载后才起作用。

谁能给我一些帮助,这让我发疯。我试图添加一个每次都增加 javascript 源代码的 php 函数(...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();
});
4

1 回答 1

0

这在这个 JSFiddle 中对我来说很好。试试看。

<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 'table',您的 $rows 选择器需要它。否则,您只需选择 $('table tr')。

(编辑:另外,是的,我假设您的 JS 在文档加载时运行。)

于 2013-10-19T18:09:08.063 回答