

例えば、以下のような年月日を選択するような入力欄があったして、

[code]

    <select name="year">
        <option value="0">--</option>
        <option value="2000">2000</option>
        <option value="2001">2001</option>
        <option value="2002">2002</option>
        <option value="2003">2003</option>
    </select>年
    <select name="month">
        <option value="0">--</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select>月
    <select name="day">
        <option value="0">--</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select>日
[/code]

左から順番に選択していくとします。

ここで完了を押さずに他のセレクトボックスをタップすると一個前で選択していた項目がx番目だったとして、現在フォーカスがあったているセレクトボックスのx番目の項目が選択されます。本当は一個前のセレクトボックスが選択されて欲しいのですが、この問題を解決する方法はあるでしょうか？


CC BY-SA 4.0
2014-12-18T04:24:07.950
1977
2019-12-13T18:22:55.953
2019-12-13T18:22:55.953
32986
4890
question
ios html
iOS Safariで複数のselectが存在するときの挙動


タップするものにclickイベントを設定して、そのイベントでフォーカスを移動するという処理をjavascriptで実装すれば良いと思います。


CC BY-SA 3.0
2014-12-18T12:14:44.623
2036
2014-12-18T12:14:44.623
4956
1977
answer


tabindex でうまく制御できません？


CC BY-SA 3.0
2015-01-22T08:06:57.477
5066
2015-01-22T08:06:57.477
7618
1977
answer


iOSでは通称ドラムロールが出て、左上にprev nextアイコン（＜
＞）でtabindexがついたフォーム部品を番号昇順にフォーカスします。多くのユーザがその操作をしているとある企業のUX担当がいってます。  
また`tabindex=-1`で除外ができます。

で、ドラムロールが出て、完了も押さずに次のフォームをタップすることはあると思いますが、form要素とtabindexをきちっとつくって、それでも無理ならJavaScriptでイベントをリスニングする必要があると思います。

また、経験上、optgroupはiOSでよくわからない挙動（複数選択ができてしまったり）をすることがあります。


CC BY-SA 3.0
2015-02-19T03:46:39.447
6728
2015-02-19T03:46:39.447
7618
1977
answer