只需打開小提琴並在搜索框中鍵入'rima',然後按下箭頭,這裏所有的li標籤都在選擇,但它應該選擇搜索詞在哪裏等於li文本。jquery搜索文本高亮問題
這是我的DEMO和代碼。
jQuery的
var $expandBtns = $('.expandBtn');
var $span;
//Search
$('input#catInput').keyup(function(e) {
var searchTerms = $(this).val();
console.log('Input change');
if (searchTerms == '') {
$expandBtns.each(function() {
var $subList = $(this).siblings('ul');
$subList.hide('slow');
});
}
$('#orgCat li').each(function() {
var $li = $(this);
var hasMatch = searchTerms.length == 0 || $li.text().toLowerCase().indexOf(searchTerms.toLowerCase()) > 0;
$li.toggle(hasMatch).removeClass('searchActiveLi');
if ($li.is(':hidden')) {
$li.closest('ul').show('slow');
}
if(e.keyCode == 40 && searchTerms.length !=0){ //highlighting selected li using down arrow key
$li.addClass('searchActiveLi');
}
});
上面的代碼是我在我的小提琴使用任何疑問,請諮詢我的意見。
謝謝@Hamza Abdaoui,它的工作,但一旦鍵入'ri',並檢查它選擇所有的孩子。它應該單獨選擇它意味着添加選擇li的類 – nani0077
https://jsfiddle.net/nelsonfeel/420Lf338/16/檢查所有名稱顯示在搜索框中。 – nani0077
@ nani0077,我不明白需要什麼!你想添加類只有第一個'li',然後如果我再次按向下箭頭它選擇下一個'li'? –