我有两个收音机,一个依赖另一个。我希望在第一个指定的更改时禁用第二个。我已使用a4j:support
标记来完成它,如下面的代码所示
<td align="left">
<h:selectOneRadio value="#{wcbBean.wcbVO.IS_UNABLE_TO_PERFORM}">
<f:selectItem itemValue="1" itemLabel="Yes" />
<f:selectItem itemValue="0" itemLabel="No" />
<a4j:support event="onchange" action="#{wcbBean.setDegImpairState}" reRender="rbDegImpair">
</a4j:support>
</h:selectOneRadio>
</td>
<td align="right">Degree of Impairment:</td>
<td align="left">
<h:selectOneRadio id="rbDegImpair" value="#{wcbBean.wcbVO.DEGREE_OF_IMPAIRMENT}" disabled="#{wcbBean.wcbVO.DISABLE_DEGREE_IMPAIR}">
<f:selectItem itemValue="TOTAL" itemLabel="TOTAL" />
<f:selectItem itemValue="PARTIAL" itemLabel="PARTIAL" />
</h:selectOneRadio>
</td>
第二组在更改第一组时不再渲染,但在页面上的任意位置单击后。为什么我需要点击页面才能禁用第二组?
答案 0 :(得分:0)
上述问题的原因是IE需要另一次点击才能触发onchange
事件,而代码在firefox中正常运行。为了使其在IE中运行,我只需将onchange
事件更改为onclick
事件,现在我不需要任何额外的点击。