2011-01-20 1 views
0

Я пытаюсь создать «функцию поиска jquery», и я хочу, чтобы иметь возможность использовать более одного слова для сортировки результатов.Функция поиска Jquery using содержит

Может кто-нибудь, пожалуйста, покажите мне, как заставить его работать?

Это то, что я получил:

$(document).ready(function(){ 

$('.qid').keyup(function() { 
var keyword = $(this).val().toLowerCase().split(" "); 

$(".q").removeClass('show'); 
$(".q:contains('"+ keyword[0] +"'):contains('"+ keyword[1] +"'):contains('"+ keyword[2] +"'):contains('"+ keyword[3] +"')").addClass('show'); 
if ($('.qid').val() == '') 
{ 
$('.q').removeClass('show'); 
} 
}); 

}); 
+2

@ Jacob, задал девять вопросов, не дал никаких ответов и нулевого приема? ** Согласовано ** и +1. –

ответ

2

Пожалуйста, прочтите это: jQuery :contains selector to search for multiple strings

Я думаю, что это принимает ваши вопросы о "содержит".

+0

Спасибо за информацию Cesar :) Жесткая проблема только для того, чтобы вернуть все слова из поля ввода. – Hakan

0

Вы можете создать строку селектора JQuery, заменяя пробелы с содержит Попробуйте это:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('.qid').keyup(function() { 
      var keyword = $(this).val().replace(/\s+/g, " ").replace(/\s+$|^\s+/g, ""); 
      var containsString = keyword; 
      $(".q").removeClass('show'); 
         containsString = ".q:contains("+containsString+")".replace(".q:contains()",""); 
      console.log(containsString); 
      $(containsString).addClass('show'); 
      if ($('.qid').val() == ''){ 
       $('.q').removeClass('show'); 
      } 
     }); 
}); 

</script> 

Тест:

<div>John Resig</div> 
<div>George Martin</div> 
<div>Malcom Cybernate Sinclair</div> 
<div>J. Ohn</div> 


<script> 
    var baseText = "John Cybernate" 
    var containsString = baseText.replace(" ", " ,div:contains("); 
    $("div:contains(" + containsString + ")").css("text-decoration", "underline"); 
</script> 

Проверьте сообщение @: http://www.jsfiddle.net/RUF4P/4/ (тип Lorem Ipsum)

+0

Спасибо Cybernate, это работает. Но когда я набираю «пространство» после каждого слова, функция поиска удаляет класс из всех div, а divs ad hidden ... Это хорошее начало! – Hakan

+0

Мой плохой, на самом деле он не работает. Попробуем еще и обновим вопрос. – Hakan

+0

Я обновил сообщение, а также разместил ссылку на jsfiddle. Попробуйте следующее: http://www.jsfiddle.net/RUF4P/4/ – Chandu

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

  • Нет связанных вопросов^_^