1

ID #surch の検索フィールドと多くの tr をkeyup含むテーブルがあり、#surch に入力された文字列を含まないすべてのテーブル tr を非表示にしたいと考えています。<script src...>私はそれを私のウェブサイトのすべてのファイルに埋め込んで、私のindex.php. 他のすべてのサブページでは、ページのリロード後にのみ機能します。

これが私を夢中にさせているので、誰か助けてくれませんか。毎回 JavaScript ソースコードをインクリメントする php 関数を追加しようとしました...sufu.js?updated=266が ( )、問題は解決しません。

編集: 私のページで Google 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>

もちろん、テーブルには $rows セレクターが必要とする id 'table' があると想定しています。それ以外の場合は、単に $('table tr') を選択します。

(編集: また、ええ、JS はドキュメントの読み込み時に実行されると想定しています。)

于 2013-10-19T18:09:08.063 に答える