Помощь с автозаполнением Jquery - почти закончен - PullRequest
1 голос
/ 10 июня 2011

Я настраивал автозаполнение пользовательского интерфейса Jquery, чтобы пользователи отправляли только данные из источника данных geonames.

DEMO

После выбора названия города я также извлекаю страну, широту и долготу из веб-сервиса geonames и добавляю их к скрытым вводам.

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

(я также делаю некоторую проверку в php)

Проблема: после щелчка из списка предложений он не появляется при вводе названия города, если вы не нажмете пробел.Я не уверен, что является причиной этого .. Кроме того, когда вы вводите город с пробелами, иногда список предложений исчезает.

Может кто-нибудь поделиться с вами некоторыми советами?Я также приветствую любые другие предложения!

1 Ответ

1 голос
/ 10 июня 2011

Плагин автозаполнения имел опцию «mustMatch» - он сделал то, что хотел, но с тех пор был удален.

Я полагаю, что вы можете повторно реализовать его, выполнив следующие инструкции:

Как реализовать "mustMatch" и "selectFirst" в jQuery UI Autocomplete?

ДРУГОЙ ВАРИАНТ:

замените ваше изменение (в вашей пересмотренной скрипке) или закройте (в оригинальной скрипке) следующее уродливое решение:

        change: function (event, ui) {
            //if the value of the textbox does not match a suggestion, clear its value
            if ($(".ui-autocomplete li:textEquals('" + $(this).val() + "')").size() == 0) {
                $(this).val('####');        
                $(this).autocomplete("search");
                $(this).val('');
                $(this).autocomplete("close");                    
            }
        }
...