簡體   English   中英

如何根據多個數據屬性過濾搜索結果

[英]How to filter search results based on multiple data attributes

我正在嘗試根據內聯數據屬性搜索多個數據結果。 但是,我只能弄清楚如何搜索單個數據屬性而不是全部。 我怎么做到這一點?

我有什么: http//jsfiddle.net/9SMZC/2/

$("input[type=text]").keyup(function () {
    var filter = $(this).val();

    $("a").each(function () {
        if ($(this).attr("data-event-name").search(new RegExp(filter, "i")) < 0) {
            $(this).hide();
        } else {
            $(this).show();
            matches++;
        }
    });
});

提前致謝!

如果要應用“或”邏輯,可以這樣做:

$("input[type=text]").keyup(function () {
    var filter = $(this).val();
    $("a").each(function () {
        var data = $(this).data();
        $(this).hide();
        for (var key in data) {
            if (~data[key].search(new RegExp(filter, "i"))) {
                $(this).show();
                break;
            }
        }
    });
});

演示 (嘗試搜索“andrew”例如)

我們的想法是獲取data對象並迭代屬性。 為了簡化代碼(即避免保留布爾值),我也總是隱藏並顯示元素何時正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM