大小为1的selectOneListBox显示为下拉菜单

时间:2013-05-09 12:39:48

标签: html jsf listbox selectonemenu

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

1 个答案:

答案 0 :(得分:3)

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

<c:set var="size" value="#{fn:length(backingBean.names)}" />
...
<h:selectOneListbox ... size="#{size gt 1 ? size : 2}">