h:当选择至少一个选项时,selectmanyListbox使“选择”选项不可选

时间:2015-06-18 07:44:22

标签: jsf jsf-2 selectmanylistbox

是否可以在<h:selectManyListbox>中设置默认选项,例如“--choose--”,可以在未选择任何选项时选择。当选择某个值时,它必须是不可选择的。

<h:selectManyListbox value="#{bean.value}"
        class="form-control">
        <f:selectItems value="#{bean.dropdownValues}" var="value" itemLabel="#{value}" itemValue="#{value}"/>            
</h:selectManyListbox>

1 个答案:

答案 0 :(得分:1)

只需将其添加为另一个<f:selectItem>,并在更改事件期间选择任何值时请求一些JavaScript的帮助以禁用它。

<h:selectManyListbox ... onchange="options[0].disabled=!!value">
    <f:selectItem itemLabel="--choose--" itemValue="#{null}" />
    <f:selectItems ... />
</h:selectManyListbox>

options[0]是指选择元素的第一个选项。 !!value基本上将所选项目值转换为boolean(当它不为空/空时为true),适用于disabled属性。

另见:

相关问题