jquery mobile: выбор нужно выбрать два раза - PullRequest
1 голос
/ 18 января 2012

У меня есть одно поле ввода с автозаполнением (#street) и одно с выбором меню (#number).Если вы выбираете улицу, меню выбора с номерами заполняется из локального массива.Отлично работает в FF и Chrome, но не на iPhone.

Проблема в том, что меню выбора не работает при первом выборе чего-либо.Я могу видеть варианты, выбрать что-то, но это игнорируется.Допустим, я выбрал 3 и он сохранил число 1.Если я попытаюсь снова, это сработает.

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

HTML

<div>
    <label for="street">Bitte wählen Sie Ihre Straße:</label>
    <input name="steet" id="street" style="z-index: 3; position: relative;" />
</div>
<div style="margin-top: 10px;">
    <label for="number">Hausnummer:</label>
    <select name="number" id="number" ></select>
</div>

JS для заполнения #number после изменения #street:

    $('#street').autocomplete({
        source: ELW.data.streets,
        minLength: 3,
        change: function(event, ui)
        {
            // alle Hausnummern löschen
            $("#number option").remove();
            $('#number').val('');

            // Straße ausgewählt?
            var numbers = ELW.address.getNumbers($('#street').val());
            if (numbers)
            {
                // Hausnummern einfügen
                $.each(numbers, function(index, value){
                    value = value.split(':');
                    $("<option/>").val(value[0] + ':' 
                         + value[1]).text(value[1]).appendTo("#number");
                });
            }
            // update
            $("#number option:first").attr('selected', true);
            $('#number').selectmenu("refresh");
        }
    });

Ответы [ 2 ]

1 голос
/ 23 января 2012

Вы пробовали в Safari? Safari должен дать вам решение проблемы, с которой вы столкнулись на iphone.

0 голосов
/ 24 января 2012

Хорошо, наконец-то я нашел решение.

Вы можете запретить iPhone использовать колесо собственного меню, установив data-native-menu="false". С альтернативным меню выбора из jquery, оно отлично работает:

<select name="number" id="number" data-native-menu="false" ></select>

Нашел его в руководстве .

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