1

複数のテーブルを検索するにはどうすればよいですか?私はこのコードを持っていますが、これは私のテーブルの1つでのみ機能します。全部で4つのテーブルがあります。

これは、テーブル内の「何か」を検索するためのコードです。

$(document).ready(function() {
    $('#search').keyup(function() {
        searchTable($(this).val());
    });
});

function searchTable(inputVal) {
    var table = $('#searchTable');
    table.find('tr').each(function(index, row) {
        var allCells = $(row).find('td');
        if(allCells.length > 0) {
            var found = false;
            allCells.each(function(index, td) {
                var regExp = new RegExp(inputVal, 'i');
                if(regExp.test($(td).text())) {
                    found = true;
                    return false;
                }
            });
            if(found == true) $(row).show();
            else $(row).hide();
        }
    });
}

テーブルのコードを削除して、管理しやすくしました

問題は「検索タブ」にあり、表1のみを実行し、残りは実行しません。

表1:

<table class="table" id="searchTable">

表2:

<table class="table" id="searchTable">

表3:

<table class="table" id="searchTable">

表4:

<table class="table" id="searchTable">
4

1 に答える 1

6

あなたの問題はIDが原因です。ID は各要素に対して一意である必要があるため、jQuery は最初の ID を取得すると、他の ID の検索を停止します。

に置き換える$('#searchTable')$('.table')、問題が修正されるはずです。

また、これらのテーブルに一意の ID を付与するか、使用しない場合は ID を完全に削除する必要があります。

HTML 仕様から: 「ドキュメント内に同じ id 値を持つ複数の要素があってはなりません。」http://www.w3.org/TR/html-markup/global-attributes.html

于 2013-02-13T11:19:40.737 に答える