问问题
2208 次
3 回答
1
标准的 JSF html 渲染工具包会将h:selectOne
一个简单的 html 选择标签呈现为您f:selectItems
成为子选项标签。
<select>
<option value="a">a</option>
<option value="b">b</option>
</select>
所以你的问题是真的有办法从 html 选择标签中删除图标。它实际上与 JSF 无关。
一旦你弄清楚如何编写 html 和 css 来获得你想要的效果,你就可以编写一个自定义渲染器来重现那个 html。
于 2013-01-27T19:33:42.060 回答
1
使用自定义 css 找到了一个可行的解决方案:
由于组件 jsf 呈现为 ,因此我们将所有元素包含在 a 中,或者在本例中包含在 a 中
<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
自定义样式选择仅使用 html 和 css 而不是任何 js/javascript
`http://jsfiddle.net/suyogN/39tx46L3/`
于 2014-12-01T07:42:37.823 回答