请帮帮我!我是新手。我有3个分量。如果选中了第一个selectBooleanCheckbox,那么第二个和第三个组件应该被禁用。如果第一个selectBooleanCheckbox未选中,那么第二个和第三个组件应该是活动的。
<h:selectBooleanCheckbox id="checkBox_1" value="#{MyManagerBean.goldRun}"
valueChangeListener="#{MyManagerBean.valueChangeInput}"/>
<h:selectBooleanCheckbox id="checkBox_2" value="#{MymanagerBean.useResult}" />
<h:selectBooleanCheckbox id="checkBox_3" value="#{MymanagerBean.goldSize}" />
我该怎么做?
public void valueChangeInput(ValueChangeEvent event) {
event.getNewValue()......
.............................
..............................
}
我认为您正在寻找的那种行为只能使用ajax来完成。如果您使用的是JSF2,那么其中就内置了ajax。你可以这样做:
<h:selectBooleanCheckbox id="checkBox_1" value="#{MyManagerBean.goldRun}">
<f:ajax event="change" render="checkBox_2 checkBox_3"/>
</h:selectBooleanCheckbox>
<h:selectBooleanCheckbox id="checkBox_2" value="#{MymanagerBean.useResult}" disabled="#{MyManagerBean.goldRun}" />
<h:selectBooleanCheckbox id="checkBox_3" value="#{MymanagerBean.goldSize}" disabled="#{MyManagerBean.goldRun}"/>
上面的代码必须是一个表单。
如果你使用JSF 1.2,那么你将需要使用ajax支持的JSF第三方库,如RichFaces/ICEfaces。它们有相似的组件以相同的方式工作