モバイルデバイスに表示されるselect
要素があります
<form>
<select id="selectMe" >
<optgroup label="Australia">
<option value="AustCars">Australia Cars Report</option>
<option value="AustBikes">Australia Bikes Report</option>
</optgroup>
<optgroup label="New Zealand">
<option value="NZCars">New Zealand Cars Report</option>
<option value="NZBikes">New Zealand Bikes Report</option>
</optgroup>
</select>
</form>
注意すべき2つのこと:
Australia Cars Report
オーストラリアとニュージーランドの間のあいまいさを取り除くために、閉じたときにフルネームを表示したいと思います。Cars Report
を開いたときに短いバージョンを使用したいのselect
は、フルネームAustralia Cars Report
がiPhoneセレクターには長すぎて(実際の名前ではありませんが、Austr...rs Report
同じようにレンダリングされます)、国が暗黙的に含まれているためoptgroup
です。
私のアプローチ(説明を選択したときに選択リストの表示値を変更することに基づく)は、コントロールがフォーカスを取得したときに各アイテムの値を変更し、フォーカスを失ったときに変更を解除することです。そして、それは私が立ち往生しているところです。
ここで2つの問題があります。
- フォーカスイベントを取得できますが、「lostfocus」イベントはありません。ユーザーが実際に選択を変更していない可能性があるため、「changed」イベントを使用できません。
optgroup
オプションテキストに追加および削除するの値を取得する方法がわかりません。Australia Cars Report
これは、それが下にネストされていることを見つける必要があることを意味しAustralia
ます。したがって、表示テキストからその単語を削除できます。
javascriptやjQuery、または該当する場合は他のツールを使用できます。私も見落としていた、これを行う簡単な方法の提案を受け入れてください。