f:selectItem 下拉列表中的默认空白项
Default Blank Item in f:selectItem dropdown list
我正在创建一个下拉菜单。我正在使用 hideNoSelectionOption、noSelectionOption、itemLabel="" 和 itemValue="#{null}" 等属性来设置一个默认值,该值是一个空白值,并且是页面加载时显示的第一个项目。相反,当页面加载时,显示的默认项是列表中的最后一项。我的一个修复是将空白项目放在列表的最后,但我不喜欢该修复,因为我希望空白项目位于列表的第一位,并且在页面加载时显示默认项目。有什么建议吗?
<tr class="contentRow">
<td><span> <h:selectOneMenu
styleClass="selectOneMenuLeft" id="menuProgramType" value="#{searchBean.selectedSearchType}"
onchange="javascript:displayDivs();" hideNoSelectionOption="true">
<f:selectItem noSelectionOption="true" itemLabel=""/>
<f:selectItem itemLabel="Item1" />
<f:selectItem itemLabel="Item2" />
<f:selectItem itemLabel="Item3" />
<f:selectItem itemLabel="Item4" />
</h:selectOneMenu></span></td>
<td><span> <h:selectOneMenu
styleClass="selectOneMenuLeft" id="menuSystemOfOriginType" value="#{searchBean.selectedSearchType}"
onchange="javascript:displayDivs();" hideNoSelectionOption="true" >
<f:selectItem itemLabel="" itemValue="#{null}" noSelectionOption="true" />
<f:selectItem itemLabel="FirstItem" />
<f:selectItem itemLabel="SecondItem" />
<f:selectItem itemLabel="LastItem" />
</h:selectOneMenu></span></td>
</tr>
您所有的项目都没有价值。因此,您的所有项目都符合“空白”案例。客户端将显示最后一个被选中。
赋予物品合理的价值。如果你打算使用标签作为价值,那么就这样做吧。
<f:selectItem itemValue="Item1" />
<f:selectItem itemValue="Item2" />
<f:selectItem itemValue="Item3" />
<f:selectItem itemValue="Item4" />
即未指定时,项目标签将默认为项目值。
另请参阅:
与具体问题无关,javascript:
伪协议是不必要的。这是自 1998 年 HTML4 以来的默认设置。
我正在创建一个下拉菜单。我正在使用 hideNoSelectionOption、noSelectionOption、itemLabel="" 和 itemValue="#{null}" 等属性来设置一个默认值,该值是一个空白值,并且是页面加载时显示的第一个项目。相反,当页面加载时,显示的默认项是列表中的最后一项。我的一个修复是将空白项目放在列表的最后,但我不喜欢该修复,因为我希望空白项目位于列表的第一位,并且在页面加载时显示默认项目。有什么建议吗?
<tr class="contentRow">
<td><span> <h:selectOneMenu
styleClass="selectOneMenuLeft" id="menuProgramType" value="#{searchBean.selectedSearchType}"
onchange="javascript:displayDivs();" hideNoSelectionOption="true">
<f:selectItem noSelectionOption="true" itemLabel=""/>
<f:selectItem itemLabel="Item1" />
<f:selectItem itemLabel="Item2" />
<f:selectItem itemLabel="Item3" />
<f:selectItem itemLabel="Item4" />
</h:selectOneMenu></span></td>
<td><span> <h:selectOneMenu
styleClass="selectOneMenuLeft" id="menuSystemOfOriginType" value="#{searchBean.selectedSearchType}"
onchange="javascript:displayDivs();" hideNoSelectionOption="true" >
<f:selectItem itemLabel="" itemValue="#{null}" noSelectionOption="true" />
<f:selectItem itemLabel="FirstItem" />
<f:selectItem itemLabel="SecondItem" />
<f:selectItem itemLabel="LastItem" />
</h:selectOneMenu></span></td>
</tr>
您所有的项目都没有价值。因此,您的所有项目都符合“空白”案例。客户端将显示最后一个被选中。
赋予物品合理的价值。如果你打算使用标签作为价值,那么就这样做吧。
<f:selectItem itemValue="Item1" />
<f:selectItem itemValue="Item2" />
<f:selectItem itemValue="Item3" />
<f:selectItem itemValue="Item4" />
即未指定时,项目标签将默认为项目值。
另请参阅:
与具体问题无关,javascript:
伪协议是不必要的。这是自 1998 年 HTML4 以来的默认设置。