是否可以在<h:selectManyListbox>
中有一个默认选项,例如"--choose--",当没有选择任何选项时可以选择。选择某个值时,它必须是不可选择的。
<h:selectManyListbox value="#{bean.value}"
class="form-control">
<f:selectItems value="#{bean.dropdownValues}" var="value" itemLabel="#{value}" itemValue="#{value}"/>
</h:selectManyListbox>
只需将其添加为另一个<f:selectItem>
,并在更改事件期间选择任何值时寻求一些JavaScript的帮助以禁用它。
<h:selectManyListbox ... onchange="options[0].disabled=!!value">
<f:selectItem itemLabel="--choose--" itemValue="#{null}" />
<f:selectItems ... />
</h:selectManyListbox>
options[0]
是指选择元素的第一个选项。!!value
基本上将所选项目值转换为适用于disabled
属性的boolean
(当它不为空/null时将true
)。
另请参阅:
- 在 JSF 中将"未选择任何内容"选项添加到 selectOneMenu 的最佳方法