私は現在ドロップダウンと戦っていて、私の経験を共有したいと思います:
<select>
使用できない特定の状況があり、ドロップダウンで「エミュレート」する必要があります。
たとえば、ドロップダウン付きのボタンなどのブートストラップ入力グループを作成する場合(http://getbootstrap.com/components/#input-groups-buttons-dropdownsを参照)。残念ながら<select>
、入力グループではサポートされていません。正しくレンダリングされません。
それとも誰かがすでにこれを解決していますか?私は解決策に非常に興味があります。
さらに複雑にするために、$(this).text()
グリピコンやフォントの素晴らしいアイコンをドロップダウンのコンテンツとして使用している場合は、ユーザーがドロップダウンで選択したものを簡単にキャッチすることはできません。例:
<li id="someId"><a href="#0"><i class="fa fa-minus"></i></a></li>
この場合はテキストがないため、テキストを追加すると、ドロップダウン要素にも表示され、これは不要です。
私は2つの可能な解決策を見つけました:
1)を使用$(this).html()
して、選択した<li>
要素のコンテンツを取得してから調べますが、次のような結果が得られる<a href="#0"><i class="fa fa-minus"></i></a>
ので、必要なものを抽出するためにこれを試してみる必要があります。
2)$(this).text()
非表示スパンの要素内のテキストを使用して非表示にします
<li id="someId"><a href="#0"><i class="fa fa-minus"><span class="hidden">text</span></i></a></li>
。私にとってこれはシンプルでエレガントなソリューションです。必要なテキストを配置でき、テキストは非表示になり、必要$(this).html()
なものを取得するためにオプション1)のような結果の変換を行う必要はありません 。
私はそれが明確で誰かを助けることができることを願っています:-)