簡體   English   中英

通過搜索輸入以列表形式返回結果

[英]Return results in a list by a search input

朋友,我正在嘗試學習如何進行“簡單的”搜索輸入。

我有八個選項的列表,並且想制作一個JS函數來幫助我隱藏與搜索不匹配的選項。

http://codepen.io/pen/

<div class="search__dropdown">
    <div class="search__dropdown-header">
        <h3 class="search__dropdown-title">Hostel</h3>
    </div>
    <div class="search__dropdown-body">
        <input class="search__dropdown-input search__dropdown-input--search" type="text" placeholder="Procure" />
        <ul class="search__dropdown-list search__dropdown-list--hostel">
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel1" type="checkbox" id="hostel1" />
                <label class="search__dropdown-label" for="hostel1">one</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel2" type="checkbox" id="hostel2" />
                <label class="search__dropdown-label" for="hostel2">two</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel3" type="checkbox" id="hostel3" />
                <label class="search__dropdown-label" for="hostel3">three</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel4" type="checkbox" id="hostel4" />
                <label class="search__dropdown-label" for="hostel4">four</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel6" type="checkbox" id="hostel6" />
                <label class="search__dropdown-label" for="hostel6">five</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel7" type="checkbox" id="hostel7" />
                <label class="search__dropdown-label" for="hostel7">six</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel8" type="checkbox" id="hostel8" />
                <label class="search__dropdown-label" for="hostel8">seven</label>
            </li>
            <li class="search__dropdown-item">
                <input class="search__dropdown-checkbox" name="hostel9" type="checkbox" id="hostel9" />
                <label class="search__dropdown-label" for="hostel9">eight</label>
            </li>
        </ul>
    </div>
</div>
  1. 附加input事件以觸發每個字母更改
  2. 遍歷列表項並檢查其文本是否包含當前值
  3. 如果沒有,請隱藏該項目

 $('.search').on('input', function() { var search = $(this).val(); var options = $('li:has([name*="hostel"])'); options.each(function() { $(this).show(); if ($(this).find('[for*="hostel"]').text().indexOf(search) < 0) { $(this).hide(); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <div class="search__dropdown"> <div class="search__dropdown-header"> <h3 class="search__dropdown-title">Hostel</h3> </div> <div class="search__dropdown-body"> <input class="search search__dropdown-input search__dropdown-input--search" type="text" placeholder="Procure" /> <ul class="search__dropdown-list search__dropdown-list--hostel"> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel1" type="checkbox" id="hostel1" /> <label class="search__dropdown-label" for="hostel1">one</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel2" type="checkbox" id="hostel2" /> <label class="search__dropdown-label" for="hostel2">two</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel3" type="checkbox" id="hostel3" /> <label class="search__dropdown-label" for="hostel3">three</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel4" type="checkbox" id="hostel4" /> <label class="search__dropdown-label" for="hostel4">four</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel6" type="checkbox" id="hostel6" /> <label class="search__dropdown-label" for="hostel6">five</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel7" type="checkbox" id="hostel7" /> <label class="search__dropdown-label" for="hostel7">six</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel8" type="checkbox" id="hostel8" /> <label class="search__dropdown-label" for="hostel8">seven</label> </li> <li class="search__dropdown-item"> <input class="search__dropdown-checkbox" name="hostel9" type="checkbox" id="hostel9" /> <label class="search__dropdown-label" for="hostel9">eight</label> </li> </ul> </div> </div> 

暫無
暫無

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

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