Поиск на странице с использованием функции contains () для отображения / скрытия содержимого div - PullRequest
3 голосов
/ 15 июля 2011

Я пытаюсь добавить функцию поиска на мою страницу часто задаваемых вопросов и просто застрял.

Мне нужно текстовое поле, в котором пользователь вводит ключевое слово (или слова), которое запускает jquery дляКлючевое слово и наборы отображения: блок для всех соответствующих ответов.

То, что у меня пока есть, это:

    <form name="searchBox">
       Keyword(s): <input type="text" name="keyword" />
       <input type="button" value="Search" onClick="searchFunction()" />
    </form>
    <div class="searchable" style="display:none">
       This is the first software question and answer.</div>
    <div class="searchable" style="display:none">
       This is the first hardware question and answer.</div>
    <script type="text/javascript">
       function searchFunction() {
          var searchTerm = document.searchBox.keyword.value;
          $(" :contains('"+searchTerm+"')").addStyle("display:block"); }
    </script>

Ответы [ 3 ]

7 голосов
/ 15 июля 2011

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

function searchFunction() {
          var searchTerm = document.searchBox.keyword.value;
          $(".searchable").each(function(){
              $(this).(":contains('"+searchTerm+"')").show(); 
           });

}
4 голосов
/ 15 июля 2011

Попробуйте это.

function searchFunction() {
    $(".searchable")
        .hide()
        .filter(":contains('" + $("input[name='keyword']").val() + "')")
        .show();
}
0 голосов
/ 15 июля 2011

Измените .addStyle ("display: block") на .show ()

...