Помогите с JQuery UI Autocomplete с возможностью TAB прочь - PullRequest
3 голосов
/ 26 июля 2010

У меня есть некоторый код jQuery, написанный для включения автозаполнения в поле ввода.

У меня две проблемы, которые я не могу исправить.

  1. Вкладка вдали от поля не будет заполнять ввод.Что мне нужно, так это либо предложение FIRST заполнить поле, если ничего не выбрано (щелкнуто или выбрано с помощью кнопок вверх / вниз) ИЛИ для выделенного элемента, который будет заполнен в поле.( примечание: выделение осуществляется с помощью стрелок вверх / вниз )
  2. При использовании стрелок вверх / вниз мне нужен ввод для отображения «LABEL», а не «VALUE». В данный момент нажатие вверх/ down заполнит входное значение VALUE.

Любой совет будет принят с благодарностью.

Вот мой полигон JSBIN.
http://jsbin.com/iyedo3/2

Примечание: поле <input id="dummy" /> просто для того, чтобы дать вам что-то, на что можно перейти.Если он удален, область помощи расширяется.

1 Ответ

1 голос
/ 15 декабря 2010

Я думаю, я понял это. Использование помощника по автозаполнению jQuery

$(function () {
    $(label_element).autocomplete({
        source: json_string,
        selectFirst: true,
        focus: function (event, ui) {
            return false;
        },
        select: function (event, ui) {
            $(value_element).val(ui.item.value);
            $(label_element).val(ui.item.label);
            return false;
        }
    });
});

И следующие выберите первый сценарий

(function ($) {

    $(".ui-autocomplete-input").live("autocompleteopen", function () {
        var autocomplete = $(this).data("autocomplete"),
        menu = autocomplete.menu;

        if (!autocomplete.options.selectFirst) {
            return;
        }

        menu.activate($.Event({ type: "mouseenter" }), menu.element.children().first());
    });

} (jQuery));

Теперь везде, где мне нужно добавить автозаполнение, я просто использую это.

<script type="text/javascript">
        var json_string = // My Autocomplete JSON string.
        var label_element = "#RegionName";
        var value_element = "#RegionID";
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...