форма поиска / фильтр

Тема в разделе "Веб-дизайн", создана пользователем core19, 10 ноя 2009.

Статус темы:
Закрыта.
Модераторы: zek24
  1. core19

    core19

    Регистр.:
    27 июн 2008
    Сообщения:
    159
    Симпатии:
    59
    Давно искал в глубинах инета форму поиска как здесь http://www.stolensidekick.com/ajaxsearch/ но мне нужно чтоб было одновременно два и больше фильтра ... Попробовал переделать и реализовать..все получилось только вот беда при выборе второго критерия фильтрации первый критерий не сохраняется... Как сделать чтоб работало.. Выкладываю свою переделку... Нужна ваша помощь.:thenks:
     

    Вложения:

  2. core19

    core19

    Регистр.:
    27 июн 2008
    Сообщения:
    159
    Симпатии:
    59
    Ну что могу сказать. Есть люди которые готовы помочь - но делать все за нас не будут. По этому спасибо Питеру за помощь в исправлении ошибок кода скрипта. Вот готовое рабочие решение
    HTML:
    <html>
    <head> 
    <title>Ajax filter search</title>
    <link rel="stylesheet" type="text/css" href="style.css" /> 
    <script type="text/javascript">
    function filterItems(x)
    {
    //For each div with class quote, show if contains x, else hide.
    //if x is an empty string, show all
      var quotes = getElementsByName_iefix("div", "quote");
      var stringForExec = new RegExp(x, "i");
      for (var i = 0; i < quotes.length; i++){
        //if contains set visible
        var text = quotes[i].innerHTML
        //if(text.indexOf(x) != -1) {
        if(stringForExec.exec(text)) {
          quotes[i].style.display="block";
        }
        else {
            quotes[i].style.display="none";
         }
        //else set hidden
      }
    }
    function getElementsByName_iefix(tag, name) {
         var elem = document.getElementsByTagName(tag);
         var arr = new Array();
         for(i = 0,iarr = 0; i < elem.length; i++) {
              att = elem[i].getAttribute("name");
              if(att == name) {
                   arr[iarr] = elem[i];
                   iarr++;
              }
         }
         return arr;
    }
    </script> 
    </head> 
    <body>
    <!-- Trenger et script som ser pa onKeyDown hvilke quote som passer teksten i boksen -->
    <center>
    <select name="filter" onChange="filterItems(this.value)">
    <option value="">_Модель_</option>
    <option value="BMW"  >BMW</option>
    <option value="WolksVagen"  >WolksVagen</option>
    <option value="Opel"  >Opel</option>
    </select>
    <select name="filter" onChange="filterItems(this.value)">
    <option value="">Кузов</option>
    <option value="sedan"  >sedan model</option>
    <option value="cabrio"  >cabrio model</option>
    <option value="cabrio"  >Hatchback model</option>
    </select>
    Filter: <input type="text" size="25" value="" name="filter" maxlength="25" onKeyUp="filterItems(this.value)">
    </center>
    <br/>
    <div class="contentHolder">
      <div class="quote2" name="quote">
        <div class="said">BMW sedan model</div></div>
      <div class="quote2" name="quote">
        <div class="said">Opel sedan model</div></div>
          <div class="quote2" name="quote">
        <div class="said">WolksVagen sedan model</div></div>
        <div class="quote2" name="quote">
        <div class="said">BMW cabrio model</div></div>
        <div class="quote2" name="quote">
        <div class="said">Opel cabrio model</div></div>
        <div class="quote2" name="quote">
        <div class="said">WolksVagen cabrio model</div></div>
        <div class="quote2" name="quote">
        <div class="said">BMW Hatchback model</div></div>
        <div class="quote2" name="quote">
        <div class="said">Opel Hatchback model</div></div>
        <div class="quote2" name="quote">
        <div class="said">WolksVagen Hatchback model</div>
             </div>
    </div>
    </body>
    </html>
     
Статус темы:
Закрыта.