0

我有两台收音机,一台依赖于另一台。当第一个发生指定更改时,我想禁用第二个。我已经使用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>   

第二组不会在更改第一组时再次呈现,而是在页面上的任意位置单击后再次呈现。为什么我需要点击页面禁用第二组?

4

1 回答 1

0

上述问题的原因是 IE 需要再次单击才能触发onchange事件,而代码在 firefox 中运行良好。为了让它在 IE 中工作,我只需将onchange事件更改为onclick事件,现在我不需要任何额外的点击。

于 2013-08-15T08:06:30.243 回答