2012-01-18 19 views
1

入力フィールドにはオートコンプリート(#street)と1つに選択メニュー(#number)があります。ストリートを選択すると、数字付きの選択メニューがローカル配列から塗りつぶされます。 FFやChromeでは正常に動作しますが、iPhoneでは動作しません。jquery mobile:選択メニューは2回選択する必要があります

問題は選択メニューが最初に何かを選択しても機能しないことです。私はオプションを見ることができます、何かを選択しますが、これは無視されます。 3を選択し、番号1を保持しているとします。もう一度やり直すとうまくいく。

問題は、最初に通りを変更した場合にのみ表示されます。私が通りを変えなければ、数字の選択はうまくいきます。だから私は選択メニューが完全に作成されていないか、このようなものだと思います。 #street#numberを埋めるために

<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が変更された

HTML:あなたはSafariで

$('#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

最後に、解決策が見つかりました。

data-native-menu="false"を設定することで、iPhoneのネイティブメニューホイールを使用できないようにすることができます。 jqueryのからの代替メニューを選択すると、それが正常に動作します:manualでそれを見つけた

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

+0

うん!素敵な発見 – Abhi

1

てみましたか? Safariは、あなたがiPhoneで直面している問題の解決策を提供する必要があります。

+0

アイデアありがとう! Safariでもうまく動作します。しかし、SafariにはiPod上でポップアップするこの選択ホイールはありません。私は問題がこれに関連していると思います。 – PiTheNumber

+0

しかし、Safariはgreateのアドバイスでした。このようにいくつかの問題を解決しました! ;) – PiTheNumber

+0

ニース知っている:)実際には問題の根源に到達するのは難しいが、小さなステップは助けます。 – Abhi

関連する問題