问题描述
|
我有一个带有复选框(h:selectOneBooleanCheckbox)的JSF / PrimeFaces 2.x UI,其值会影响其他小部件。就像是:
[X] checkbox1
[____|V] combobox1
[X] checkbox2
如果checkbox1为false,则combobox1的选定值必须为null,而checkbox2也必须为false。
我想使用Ajax在checkbox1的检查中设置支持bean中的值,但是我不知道如何为h:selectOneBooleanCheckbox添加ajax支持
有人可以帮忙吗?谢谢,
抢
解决方法
用
listener
方法将<f:ajax>
嵌套在checkbox1中,该方法完成所需的工作并呈现combobox1和checkbox1。
就像是:
<h:selectBooleanCheckbox value=\"#{bean.checkbox1}\">
<f:ajax listener=\"#{bean.listener}\" render=\"combobox1 checkbox2\" />
<h:selectBooleanCheckbox>
<h:selectOneMenu id=\"combobox1\" value=\"#{bean.combobox1}\">
<f:selectItems ... />
</h:selectOneMenu>
<h:selectBooleanCheckbox id=\"checkbox2\" value=\"#{bean.checkbox2}\" />
与
public void listener() {
if (!checkbox1) {
combobox1 = null;
checkbox2 = false;
}
}
PrimeFaces本身具有<p:ajax>
,可提供类似的功能。它仅使用update
属性,而JSF标准<f:ajax>
使用render
属性。