我有p:selectOneMenu
,其第一个元素是字符串'请选择',其他项目是要选择的列表。我可以在选择“请选择”时禁用提交按钮,如果选择了其他元素,是否启用按钮?我知道可以使用itemDisabled
,但这不是我的要求。
<p:selectOneMenu value="#{bean.value}" id="selectId"
filter="true" required="true" converter="itemConverter"
filterMatchMode="contains" height="120">
<f:selectItem itemLabel="Please select"/>
<f:selectItems value="#{listBean.selectItemList}"></f:selectItems>
</p:selectOneMenu>
基本上,我希望在选择第一项时禁用提交按钮。
有人可以帮忙吗?
答案 0 :(得分:5)
你最好替换
<f:selectItem itemLabel="Please select"/>
用
<f:selectItem noSelectionOption="true" itemLabel="Please select"></f:selectItem>
让jsf为你处理required
......
如果您确实要禁用该按钮,请使用#{bean.value}
<p:commandButton id="myButonId" disabled="#{empty bean.value}"....
并将<p:ajax update="myButonId"
添加到您的<p:selectOneMenu
答案 1 :(得分:1)
Hello Rajath,你好 为什么你不能在支持bean中使用 SelectItemList 并从backingbean向该列表添加标签和值?这样做的好处是,您可以添加“请选择”作为SelectItemList中的第一个标签,并将值添加为null。因此,为了禁用SubmitButton,你可以有一个布尔标志,可以根据SelectItemList中的值设置为true或false(使用 valuechangeListener 并相应地更新布尔标志方法 )。希望这个解决方案能帮到你。