【发布时间】:2017-08-03 09:00:04
【问题描述】:
只需打开小提琴并在搜索框中输入“rima”,然后按向下箭头,这里所有 li 标签都在选择,但它应该选择搜索词等于 li 文本的位置。
这是我的 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');
}
});
以上代码是我在 Fiddle 中使用的任何问题,请在 cmets 中问我。
【问题讨论】: