3

次の単純化された HTML および jQuery コードを検討してください。

<select id="select1">
  <option value="10">10</option>
  <option value="5">5</option>
  <option selected="selected" value="1">1</option>
</select>

$('#select1').change(function () {
 if ($('#select1').val() > 5) {
   $('#select1').val(1);
   alert("Select set to 1");
 }
});

フィドル

ユーザーが選択コントロールから 10 を選択すると、コントロール自体の変更イベント内から 1 にリセットされます。これはデスクトップ マシンのブラウザからは機能しますが、iPhone または iPad の Chrome や Safari では機能しません。(実際にはモバイル ブラウザでは、選択は 1 に設定され、その後 10 に戻ります)

基本的に、特定の条件下でユーザーが選択できるものを制限しようとしています。

独自の変更イベント内から選択コントロールのオプションをリセットし、モバイル ブラウザーで動作させる方法はありますか?

4

1 に答える 1

5

optionたとえば、クラスを選択するか[value=1]、クラスを指定する必要があります.default

$('#select_id').val(1);

そして、.selectmenu('refresh')再強化のためにリフレッシュします。

$('#select_id').selectmenu('refresh');

デモ 1 -デモ 2

于 2013-10-08T16:21:54.117 に答える