Опции автозаполнения jquery не работают - PullRequest
1 голос
/ 11 сентября 2011

Я использую автозаполнение jquery

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js'></script>

Все работает хорошо, но сейчас я пытаюсь добавить параметр minChars, который ничего не делает. Мой код выглядит так:

$( "#searchid" ).autocomplete({
    source: "/autocomplete_url.php?more=1", 
    minChars:6,             
    select: function(event, ui) { 
               $("#searchid").val(ui.item.value);
               $("#formid").submit(); 
            }
});

Все работает, кроме того, что игнорирует опции, которые я добавляю. Почему / Как я могу отладить проблему?

ОБНОВЛЕНИЕ: согласно ответу ниже, я вместо этого перешел на использование minLength. Я попытался добавить двумя разными способами, но это не работает: / Это мой "новый" код:

    $( ".selector" ).autocomplete({ minLength: 6 });        
    $( "#searchid" ).autocomplete({
        source: "/autocomplete_url.php?more=1", 
        minLength:6,        
        select: function(event, ui) { 
               event.preventDefault();
               $("#searchid").val(ui.item.value);
               $("#formid").submit(); 
            }
    });

Спасибо

Ответы [ 3 ]

2 голосов
/ 12 сентября 2011

Это не minChars, а minLength
см http://jqueryui.com/demos/autocomplete/#option-minLength

$( ".selector" ).autocomplete({ minLength: 0 });
0 голосов
/ 12 сентября 2011

Убедитесь, что ваш источник возвращает JSON с ключами: id, value и label.Если это не так, вам нужно использовать функцию обратного вызова в качестве источника.Проверьте эту статью на Nettus:

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/

0 голосов
/ 12 сентября 2011

Как правило, если вы хотите манипулировать элементом формы, к которому присоединено само автозаполнение, вы должны включить

event.preventDefault();

внутри блока select: function(event, ui){}.В противном случае поведение автозаполнения по умолчанию будет конфликтовать с вашим кодом, так как он также пытается установить это значение.

...