2011-08-13 18 views
1

jQueryを使用して簡単な表フィルタを効果的に構築するにはどうすればよいですか? ページネーションは気にしません。jQueryを使用して簡単なテーブルフィルタを構築する方法は?

list - >データベースのデータを選択します。

私はプラグインを使用したくない、私は短いコードの使用を好む。

例:

Table Filter With JQuery
+0

あなたは 'グッドEffect'で何を意味するのですか?プラグインが必要ない場合は、これまでに何がありますか? – pimvdb

+0

@pimvdb - 'hide()'の効果。サイズが大きいので、プラグインを使用できません。 –

+2

私はあなたの質問が少し広がっているのを見ます。それは、スタックオーバーフローのためではない "私のためにこれをコードする"という質問とは大した違いはありません。あなたはヘルプを得るためにいくつかのコードを表示したいかもしれません。 – pimvdb

答えて

3
$('#inputFilter').keyup(function() { 
    var that = this; 
    $.each($('tr'), 
    function(i, val) { 
     if ($(val).text().indexOf($(that).val()) == -1) { 
      $('tr').eq(i).hide(); 
     } else { 
      $('tr').eq(i).show(); 
     } 
    }); 
}); 

CHECH THIS

+0

http://jsfiddle.netの 'example'を私に教えてください。これはすべてのページングのためのものでしたか? –

+0

@Sheikhasa Mozali私はあなたにフィドルをくれました。なぜが消えないのですか? – thecodeparadox

+0

を確認してください。 – Sashka

0

テスト結果に応じてコンテンツを表示/非表示、入力フィールドの値に行のinnerHTMLプロパティをテストしてみてください。

$('#test').bind('keyup', function() { 
    var s = new RegExp(this.value); 
    $('tr').each(function() { 
     if(s.test(this.innerHTML)) $(this).show(); 
     else $(this).hide(); 
    }); 
}); 

JSFIDDLE例のテーブルと入力フィールド。

編集

代わりにinnerHTMLプロパティの.text()を使用する方がよいかもしれません。パフォーマンス的にinnerHTMLは良いでしょうが、.text()はhtmlタグを有効な検索結果として受け入れません。 JSFIDDLE#2。

+0

この作業がすべてのデータに対して、または「ページ区切り」の同じページに対してのみ行われているかどうか(ページングのすべてのページの作業が必要です。 ) これで結構です? –

+0

これは、現在のテーブルページでのみ機能します。したがって、5ページ目の場合は、5ページ目の結果のみが検索され、フィルタリングされます。 – rsplak

関連する問題