【问题标题】:How to search from two or more lists using list.js如何使用 list.js 从两个或多个列表中搜索
【发布时间】:2018-03-06 07:09:52
【问题描述】:

我想问一下如何使用 list.js 从两个或多个列表中检索过滤结果

让我用图片来解释:

这是我的 HTML:

<div id="SearchBarContainer" class="col l10 offset-l1">
                        <input name="SearchData" class="search" placeholder="Search Anything !" />
                        <h1 class="McqHeading">MCQs</h1>
                        <ul class="list">
                            <li>
                                <p class="mcq">Mcqs One</p>
                            </li>
                            <li>
                                <p class="mcq">Mcqs Two</p>
                            </li>
                            <li>
                                <p class="mcq">Mcqs Three</p>
                            </li>
                            <li>
                                <p class="mcq">Mcqs Four</p>
                            </li>
                            <li>
                                <p class="mcq">Mcqs Five</p>
                            </li>
                        </ul>
                        <h1 class="NotesHeading">Notes</h1>
                        <ul class="list2">
                            <li>
                                <p class="note">Notes One</p>
                            </li>
                            <li>
                                <p class="note">Notes Two</p>
                            </li>
                            <li>
                                <p class="note">Notes Three</p>
                            </li>
                            <li>
                                <p class="note">Notes Four</p>
                            </li>
                            <li>
                                <p class="note">Notes Five</p>
                            </li>
                        </ul>
                    </div>

这是我为此使用的 Javascript:

var options = {
valueNames: [ 'mcq','note' ],
listClasses: ['list','list2']
};

 var DownloadsList = new List('SearchBarContainer', options);

这是它产生的结果:

当我输入 b 时,它只检查了第一个列表。我希望代码检查两个列表。

有什么办法吗?

【问题讨论】:

  • 在所有选项中给出一个通用类,然后在值名称中给出该类,然后尝试

标签: javascript list.js


【解决方案1】:

好的。您的问题已解决。我使用了两个不同的容器和两个不同的列表对象,如下所示:

var options_1 = {
  valueNames: [ 'mcq' ]
};
    
var options_2 = {
  valueNames: [ 'note' ]
};

var list1 = new List("SearchBarContainer_1",options_1);
var list2 = new List("SearchBarContainer_2",options_2);

$(".search").keyup(function(){
    list1.search($(this).val());
    list2.search($(this).val());
});  
<script src="//cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input name="SearchData" class="search" placeholder="Search Anything !" />
    <div id="SearchBarContainer_1" class="col l10 offset-l1">
                        
                        <h1 class="McqHeading">MCQs</h1>
                        <ul class="list">
                          
                            <li class="a">
                                <p class="mcq">Mcqs One</p>
                            </li>
                            <li class="a">
                                <p class="mcq">Mcqs Two</p>
                            </li>
                            <li class="a">
                                <p class="mcq">Mcqs Three</p>
                            </li>
                            <li class="a">
                                <p class="mcq">Mcqs Four</p>
                            </li>
                            <li class="a">
                                <p class="mcq">Mcqs Five</p>
                            </li>
                            </ul>
                            </div>
    <div id="SearchBarContainer_2" class="col l10 offset-l1">   
                        <h1 class="NotesHeading">Notes</h1>
                       <ul class="list">
                            <li class="b">
                                <p class="note">Notes One</p>
                            </li>
                            <li class="b">
                                <p class="note">Notes Two</p>
                            </li>
                            <li class="b">
                                <p class="note">Notes Three</p>
                            </li>
                            <li class="b">
                                <p class="note">Notes Four</p>
                            </li>
                            <li class="b">
                                <p class="note">Notes Five</p>
                            </li>
                         
                        </ul>
                    </div>

【讨论】:

    猜你喜欢
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2023-01-16
    • 2023-02-04
    • 1970-01-01
    • 2015-07-19
    相关资源
    最近更新 更多