html - selectOneListBox 大小为 1 显示为下拉菜单

标签 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>

最佳答案

您需要明确指定大小为 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/

相关文章:

java - JSF Richfaces 前端性能调优

wpf - 如何将扩展器锚定到列表框的右侧?

java - 单击提交按钮时的重定向不允许由于某种原因被阻止。(JSF 2.0)

javascript - Prototype 中的 setStyle 似乎没有按预期运行?

html - 导航栏上子菜单的 CSS 不起作用

JavaScript 表过滤器不查找数字

java - 在没有 Maven 的情况下设置 JSF 项目

windows-phone-7 - SelectedItem 使用 CollectionViewSource 设置为第一个项目

当从选项列表中选择多个复选框时,复选框的 JavaScript 验证

javascript - 乘法 2 数组 javascript/jquery