2012-01-18 3 views
1

У меня есть одно поле ввода с автозаполнением (#street) и одно с selectmenu (#number). Если вы выберете улицу, selectmenu с цифрами get заполняется из локального массива. Работает отлично в FF и Chrome, но не на iPhone.jquery mobile: Selectmenu нужно выбрать два раза

Проблема в том, что selectmenu не работает при первом выборе чего-либо. Я вижу параметры, выбираю что-то, но это игнорируется. Предположим, я выбрал 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"); 
     } 
    }); 

ответ

0

Итак, я нашел решение.

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

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

Нашел в manual.

+0

Хм! хорошая находка – Abhi

1

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

+0

Спасибо за идею! Он отлично работает и в Safari. Но Safari не имеет этого колеса выбора, которое появляется на iPod. Я думаю, что проблема связана с этим. – PiTheNumber

+0

Но Сафари был приветственным советом. Решил некоторые другие проблемы таким образом! ;) – PiTheNumber

+0

Приятно знать :) На самом деле трудно найти корень проблемы, но небольшие шаги помогают. – Abhi

Смежные вопросы