我正在使用 h:selectOneListBox 动态添加数据。最初它是空的。每次用户按下“添加”按钮时,列表框中都会添加一个条目。
我已经指定了列表框的特定高度。问题是列表框只有一个条目时的外观。它看起来像指定高度的下拉菜单而不是列表框。如果它有多个条目,看起来不错。
需要知道,当 selectOneListBox 的大小为 1 时,是否有任何方法可以控制它的外观。在下面的代码中,假设 backingBean.names 仅返回一个选择项。
<div style="height: 400px">
<h:selectOneListbox id="names" style="width:100%; height:100%; "
value="#{backingBean.selectedName}">
<f:selectItems value="#{backingBean.Names}" />
</h:selectOneListbox>
</div>
最佳答案
您需要明确指定大小为 2 或更大,否则它确实会默认为可用选择项的大小。
<c:set var="size" value="#{fn:length(backingBean.names)}" />
...
<h:selectOneListbox ... size="#{size gt 1 ? size : 2}">
关于html - selectOneListBox 大小为 1 显示为下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16461985/