如何过滤UL,然后搜索新的UL

时间:2017-11-17 13:33:44

标签: javascript

我正在尝试创建过滤器来搜索列表,然后您可以在已过滤的列表中进行搜索。我有作为过滤器的标签,但我无法弄清楚如何将搜索功能限制为单击任何过滤器。有没有办法检查是否单击了选项卡或是否在JavaScript中调用了函数?

这是我的常规搜索功能:

function searchTags() {
        var input, filter, ul, li, a, i;
        input = document.getElementById('inputTag');
        filter = input.value.toUpperCase();
        ul = document.getElementById("ulResources");
        li = ul.getElementsByTagName('li');

        for (i = 0; i < li.length; i++) {
            a = li[i].getElementsByTagName("a")[0];
            if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
                li[i].style.display = "";
            } else {
                li[i].style.display = "none";
            }
        }
    }

这是我的一个标签的过滤功能(它们都是相同的,但输入被更改为适合任何过滤器):

    function searchMember() {
        var input, filter, ul, li, a, i;
        input = "member";
        filter = input.toUpperCase();
        ul = document.getElementById("ulResources");
        li = ul.getElementsByTagName('li');

        for (i = 0; i < li.length; i++) {
            a = li[i].getElementsByTagName("a")[0];
            if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
                li[i].style.display = "";
            } else {
                li[i].style.display = "none";
            }
        }
    }

以下是与上面的过滤器标签匹配的asp代码:

<a id="liMember" href="#" onclick="searchMember();" data-toggle="tab">Member</a>

我有一个调用searchTags()的搜索栏:

<input id="inputTag" type="text" class="form-control" onkeyup="searchTags();" placeholder="Search for a tag...">

1 个答案:

答案 0 :(得分:0)

检查是否显示!=无,然后打印结果。 我在想这个。