4

jQueryを使用して効果の高い単純なテーブルフィルターを作成するにはどうすればよいですか?改ページは気にしません。

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

プラグインは使いたくないので、ショートコードを使いたいです。

例: JQueryを使用したテーブルフィルター

4

4 に答える 4

5
$('#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();
        }
    });
});

これをチェチ

于 2011-08-13T17:13:45.267 に答える
3

普段は手伝いませんが、今朝は飽きてきました。

http://jsfiddle.net/hHJxP/

于 2011-08-13T17:23:33.183 に答える
2

少し遅いことは知っていますが、このコードがお役に立てば幸いです。

<script>
$(document).ready(function(){
  $("#yourInput").on("keyup", function() {
    var value = $(this).val().toLowerCase();
    $("#yourTableId tr").filter(function() {
      $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
    });
  });
});
</script>
于 2018-05-28T15:06:42.713 に答える
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とサンプルテーブルおよび入力フィールド。

編集

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

于 2011-08-13T17:00:57.933 に答える