0
我正在努力與jQuery的實時搜索。jQuery/Javascript獲取多個元素的類來顯示這個類的元素
首先使用以下代碼進行實時搜索更新。
//live search function
function live_search(list) {
$("#search")
.change(function() {
//getting search value
var searchtext = $(this).val();
if(searchtext) {
//finding If content matches with searck keyword
$matches = $(list).find('a:Contains(' + searchtext + ')').parent();
//hiding non matching lists
$('li', list).not($matches).slideUp();
//showing matching lists
$matches.slideDown();
} else {
//if search keyword is empty then display all the lists
$(list).find("li").slideDown(200);
}
return false;
})
.keyup(function() {
$(this).change();
});
}
的問題是,我的列表按字母順序和containt一個標題爲每個字母:
<ul class="begrippen_list leftList col-sm-12 col-md-6">
<li class="header a">A</li>
<li class="a">
<a href="#">All</a>
</li>
<li class="a">
<a href="#">Auto</a>
</li>
<li class="header b">B</li>
<li class="b">
<a href="#">Balls</a>
</li>
<li class="b">
<a href="#">Bus</a>
</li>
</ul>
現在的問題:當我在輸入型金礦牀,jQuery的只顯示列表 - 項目與「自動」,但我也希望與頭等a(李類)被顯示。當我只輸入帶有類「a」和類「b」的標題時,必須顯示。
我想檢查他們班的所有$匹配,並顯示與$匹配的類li.header可能是解決方案,但不能得到它的工作。
乾杯!
差不多:)現在它還顯示沒有匹配的.headers。我認爲必須檢查頭部是否與比賽相同。 –
@TomTe,嘗試一次'var $ header = $ matches.prevAll('li.header');' – Satpal
太棒了!這工作:) –