Как исправить автозаполнение на текстовое поле в jQuery? - PullRequest
0 голосов
/ 13 апреля 2011

Я использую jquery.autocomplete.js для автозаполнения текстового поля.

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

для экв. Я пишу текст " Lo ", а затем получаю все записи, начинающиеся с "Lo" каждый раз, когда я получаю новое предложение из базы данных SQL.

Моя проблема в том. Я видел два, три или более списка в качестве предложения под текстовым полем .. Я пишу .unautocomplete () метод для удаления предыдущего списка предложений в каждом событии нажатия клавиши. Как исправить предыдущий список unautocomplte из текстового поля ..

В моем автозаполнении я вижу список предложений автозаполнения, отображаемый более чем в одном списке предложений. как это исправить ..
Ниже я написал свой код.

<script>
$('#<%= txtLocation.ClientID %>').onkeypress(function () {
  if ($('#<%= txtLocation.ClientID %>').val().length >= 1) {
    GetCitiesLikeList($('#<%= txtLocation.ClientID %>').val());
  }
});

function GetCitiesLikeList(objcity) {
    if (objcity != null && objcity != "") {        
         $.ajax({
            type: "POST",
            url: "http://www.myweburl.com/webservices.asmx/GetCitiesLikeList",
            data: "{ City : '" + objcity + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) { 
                if (msg.d != null && msg.d != "") {            
                    cities = msg.d.split(",");                    
                    $(".location").autocomplete(cities, {
                        matchContains: true,
                        minChars: 0
                    });
                }
                else
                 $(".location").unautocomplete();
            },
            error: function(xhr, ajaxOptions, thrownError) {return false;}
        });
    }
    else
        $(".location").unautocomplete();
}
</script>


посмотрите на это изображение, что проблема идет в моем списке предложений автозаполнения.
enter image description here

дайте мне решение для этого.
-Спасибо
Аби

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Я не уверен, правильно ли я понимаю то, что вы говорите, но только несколько вещей:

  1. Вам не нужно вручную ждать события keypress для автозаполнения пользовательского интерфейса jQuery. Он уже делает это для вас, когда вы вызываете .autocomplete() для элемента.
  2. Автозаполнение также имеет функциональность для обработки популяции предметов, используя AJAX, который вы здесь делаете.

Так что я предполагаю, почему вы получаете двойные списки, потому что вы технически делаете то, что автозаполнение делает для вас снова (вручную).

1 голос
/ 13 апреля 2011

Вам не нужно использовать автономный плагин автозаполнения, поскольку он теперь часть из jQueryUI.

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