2

jQuery 検索フィルターを使用していますが、うまく機能します。ただし、入力ボックス内でも検索およびフィルタリングする必要があります。入力ボックスはすべてテキスト型で、他のテーブル列内のテキストと同じように値を使用する必要があります。

フィドルを作成しました http://jsfiddle.net/ktcle/Jf6q5/

したがって、このフィドルで mercedes と入力すると、結果には mercedes が表示されます

$("#searchInput").keyup(function () {

var data = this.value.split(" ");
var jo = $("#fbody").find("tr");
if (this.value == "") {
    jo.show();
    return;
}

jo.hide();

jo.filter(function (i, v) {
    var $t = $(this);
    var matched = true;
    for (var d = 0; d < data.length; ++d) {
        if (data[d].match(/^\s*$/)) {
            continue;
        }

        var regex = new RegExp(data[d].toLowerCase());
        if ($t.text().toLowerCase().replace("").match(regex) === null) {
            matched = false;
        }
    }
    return matched;
})

.show();
});

どんな助けでも常に感謝します

4

1 に答える 1

4

私はこのフィドルであなたのスクリプトを編集しました:

http://jsfiddle.net/Jf6q5/14/

jo.filter(function (i, v) {
    var $t = $(this);
    var matched = true;
    for (var d = 0; d < data.length; ++d) {
        var value = "";
        $t.find("td").each(function(){
            var _td = $(this);
            value += _td.text() + _td.find("input").val();
        });
        if (data[d].match(/^\s*$/)) {
            continue;
        }

        var regex = new RegExp(data[d].toLowerCase());
        if (value.toLowerCase().replace("").match(regex) === null) {
            matched = false;
        }
    }
    return matched;
});
于 2013-11-14T10:52:46.237 に答える