質問する
2208 次
3 に答える
1
標準のJSFhtmlレンダーキットは 、子オプションタグになるh:selectOne
単純なhtmlselectタグとしてレンダリングします。f:selectItems
<select>
<option value="a">a</option>
<option value="b">b</option>
</select>
だからあなたの質問は本当にhtmlselectタグからアイコンを削除する方法があるということです。それは実際にはJSFとは何の関係もありません。
必要な効果を得るためにhtmlとcssを作成する方法を理解したら、そのhtmlを再現するカスタムレンダラーを作成できます。
于 2013-01-27T19:33:42.060 に答える
1
カスタムCSSを使用した実用的なソリューションが見つかりました:
コンポーネント jsf は としてレンダリングされるため、すべての要素を 内、またはこの場合は 内に含めます。
<h:panelGrid class="parent dropDown">
<h:selectOneMenu value="#{myBean.selected}"
id="list" class="test" style="border-style:none; height:31px;">
<f:selectItems value="#{myBean.list}" var="item"
itemLabel="#{item.name}" itemValue="#{item.code}" />
<f:ajax execute="@this" />
</h:selectOneMenu>
</h:panelGrid>
クラスの親を panelGrid に追加し、以下を定義します。
.parent{
width:98%;
overflow:hidden;
}
.parent select{
width:100%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
background: none;
}
jsf コンポーネントは、矢印やその他のコンポーネント (境界線や影など) なしでレンダリングされます。
于 2013-01-27T20:22:24.367 に答える
0
js/javascriptではなくhtmlとcssのみを使用してカスタムスタイルを選択
`http://jsfiddle.net/suyogN/39tx46L3/`
于 2014-12-01T07:42:37.823 に答える