2015-04-15 3 views
0

Я создаю специальный фильтр для данных. Я хочу показать результат в точном совпадении слов. например, у меня есть следующие данные. если мы наберем «amit» в поисковом вводе, тогда первая строка должна отображать, что работает, но когда мы вводим «mit», ни одна строка не должна быть видимой. fiddleпоказать и выделить точное совпадение слов

<li><strong>my name is amit</strong>, address</li> 
<li><strong>my name is geeta</strong>, address</li> 
<li><strong>my name is xyz</strong>, address</li> 
+0

Возможно: _var val = "" + this.value; _? –

+0

@WashingtonGuedes: хороший трюк, но когда вы первый мир, тогда он не будет работать – Carlos

+0

Он должен помочь: _if (li.text(). Substring (0, val.length)! = Val) val = "" + val; _ –

ответ

1

здание на вершине решения Шридхар, я построил демо https://jsfiddle.net/sumL5eas/15/, который ищет также исходные слова:

В мое решение, сначала проверяется, начинается ли текст с поискового запроса, если это так, он отображает этот элемент. В противном случае он просматривает текст с помощью " " + searchTerm.

$('.inp').keyup(function(){ 

    var searchText = $(this).val(); 

    $('ul > li').each(function(){ 

     var currentLiText = $(this).text(); 
     var showCurrentLi = currentLiText.indexOf(searchText) == 0; 
     if(!showCurrentLi) 
      showCurrentLi = currentLiText.indexOf(" " + searchText) !== -1; 

     $(this).toggle(showCurrentLi); 

    });  
}); 
1

Попробуйте этот код

$(function(){ 

    $('.inp').keyup(function(){ 

     var searchText = $(this).val(); 

     $('ul > li').each(function(){ 

      var currentLiText = $(this).text(), 
       showCurrentLi = currentLiText.indexOf(searchText) !== -1; 

      $(this).toggle(showCurrentLi); 

     });  
    }); 

}); 

Ссылка: http://jsfiddle.net/sumL5eas/5/

+0

не работает. когда вы набираете текст из мира, тогда он должен скрыть это li – Carlos

+0

. Я думаю, что использовать длину можно .. – sheshadri

+0

@amit работает, когда вы добавляете пробел '' "+ searchText' https://jsfiddle.net/sumL5eas/ 10/ – renakre

Смежные вопросы