Вход в результаты автозаполнения JQuery активируется при выборе из результата - PullRequest
4 голосов
/ 09 декабря 2010

Когда я начинаю вводить название вида, я ищу виджет автозаполнения jQuery с выпадающим списком и некоторыми результатами.Отлично !!

Единственная проблема в том, что когда я выбираю элемент из списка, активируется «элемент ввода, расположенный под этим элементом списка».И приводит к выпадению родного андроида сверху.Я попытался использовать z-индексы в окне результатов автозаполнения и на элементах ввода.Ни одна из них не работает.

Есть идеи у кого-нибудь?

Ответы [ 2 ]

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

Ну, похоже, ни распространение, ни z-индексы не решают проблему.

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

Итак, когда открывается окно автозаполнения, я отключаю все остальные входы и сбрасываю их после закрытия окна:

$("#venue_name").autocomplete({
    minLength: 2,
    source: venueData,
    open: function(event, ui) { // disable other inputs
        $("input#venue_address").attr("disabled", "disabled");
        $("input#venue_cross_street").attr("disabled", "disabled");
        $("input#venue_city").attr("disabled", "disabled");
    },
    close: function(event, ui) { // re-enable other inputs
        $("input#venue_address").removeAttr("disabled");
        $("input#venue_cross_street").removeAttr("disabled");
        $("input#venue_city").removeAttr("disabled");
    }
});

Вы можете улучшить приведенный выше код, скажем, помещая элементы, которые нужно отключить, в массив и т. Д., Но основная логика остается той же: отключить элементы, чтобы android не выделял их при активации поля автозаполнения, и повторно включите их, когда поле автозаполнения исчезнет.

0 голосов
/ 09 декабря 2010

Отмена распространения событий может быть ключом к решению этой проблемы. Этот вопрос может помочь решить проблему, с которой вы столкнулись. Распространение событий в Javascript

Это также может оказаться полезным: http://www.quirksmode.org/js/events_order.html

...