Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Автокомплит своими руками (https://javascript.ru/forum/misc/38947-avtokomplit-svoimi-rukami.html)

milov 09.06.2013 17:08

Автокомплит своими руками
 
Добрый день всем. Сделал автокомплит, на инпут повесил keyup + ajax и строю выпадающий список по ul li. Работает. Но теперь нужно отработать клавиши стрелок верх вниз по списку и вот тут то и затык :( Или фокус в список не передаётся или ещё что
Код
$("#ac_street").keyup(function(){
      var ac_street = $("#ac_street").val();
      ac_street = $.trim(ac_street);
      if(ac_street && ac_street.length>=2){
        $.ajax({
          url: "ajax.php",
          data: "ac_street="+encodeURI(ac_street)+"&type=street",
          success:function(data) {
           $("#suggest").html(data); 
           
           /* клавишы */
           $("#suggest ul li").keydown(function(event){
             switch (event.keyCode) {
              case 38:
               //alert('вниз!');     
             $("#suggest ul li").removeClass("unulhover");
             $(this).addClass("unulhover");
              break;
             case 40:
               //alert('вверх!');     
             $("#suggest ul li").removeClass("unulhover");
             $(this).addClass("unulhover");
              break;
             }
           });
           /*  */
          }
        });
      }

    });

в ajax.php строю список
Да, делаю свой велосипед )))

danik.js 09.06.2013 18:28

Фокус в реале не должен передаваться никуда, иначе ты не сможешь продолжать ввод в инпут. Код не смотрел, ибо неотформатирован. Оберни в
[JS] .. [/JS]


Часовой пояс GMT +3, время: 12:10.