Почему JQuery Autocomplete не выполняется? - PullRequest
0 голосов
/ 01 мая 2009

У меня есть очень интересный случай, когда поле автозаполнения JQuery не отвечает при первом вводе текста в TextBox, но когда я нажимаю TAB вне TextBox, а затем возвращаю курсор обратно в TextBox во второй раз, оно начинает отвечать и результаты показываются, когда я начинаю печатать.

Когда я использую firebug, я вижу, что в моем приложении вызывается функция AJAX, и результаты возвращаются в шаблон HTML, но результат не отображается, что может быть причиной такого поведения?

Код привязки моей функции:

  $(function()
  {
    $(document).ready(function(){
       $("#tags1").bind("keyup",autoFill)
      });
   });

Моя функция автозаполнения

 function autoFill(){
           $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });
       }

My TextBox Field:

 <input type="text" style="width: 400px" id="tags1" name="tags1" value="">

Ответы [ 2 ]

3 голосов
/ 01 мая 2009

Почему вы делаете вызов autocomplete () для keyup? Я думаю, что это может быть причиной ваших проблем. Я бы попробовал просто вызвать autocomplete () прямо из события готовности документа.

$(document).ready(function(){

        $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });

      });
0 голосов
/ 01 мая 2009

Если вы используете то же автозаполнение, которое я использовал сегодня (на другом компьютере, извините - не могу узнать, какая была точная версия) - тогда вам не нужно связывать при keyup - просто связать один раз при запуске -

<script>
    $('#tags1').autocomplete(....);
</script>

Функция автозаполнения обрабатывает все нажатия клавиш / изменения фокусировки и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...