2

我正在使用 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>
4

1 回答 1

3

您需要明确指定大小为 2 或更大,否则它确实会默认为可用选择项的大小。

<c:set var="size" value="#{fn:length(backingBean.names)}" />
...
<h:selectOneListbox ... size="#{size gt 1 ? size : 2}">
于 2013-05-09T14:28:02.700 回答