我有两个单选按钮组。这两个按钮是radioGroupLoaType和radioGrouploaType。
radioGroupLoaType的选择将根据radioGrouploaType中的选择而更改。这很管用。
如果只有一个选择,则radioGroupLoaType的单击事件将设置radioGrouploaType的值。似乎正在发生的是,每隔一次点击就会设置一次该值。如果我在一个选择上单击两次,则会设置正确的值。
我怀疑发生的情况是,在设置值时没有设置radioGroupLoaType的选项。我可以通过使用@DbColumn而不是@DbLookup为radioGroupLoaType创建一个常量值列表来证明这一点。
关于如何做到这一点,还有其他想法吗?
<xp:br></xp:br>
<xp:br></xp:br>
<xp:radioGroup id="radioGroupLoanType" layout="pageDirection">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:var key = getComponent("radioGroupLoanType").getValue();
if (key == null) return;
var val = @DbLookup("","vwRateTypesByLoanTypesOrder",key,"RateName");
if (@IsError(val) || val.constructor == Array)
{
getComponent("radioGroupRateReq").setValue("");
}
else
{
getComponent("radioGroupRateReq").setValue(val);
}
}]]></xp:this.action>
</xp:eventHandler>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:@DbColumn("","vwLoanTypesByOrder",2)}]]></xp:this.value>
</xp:selectItems>
</xp:radioGroup><xp:br></xp:br>
<xp:br></xp:br><xp:radioGroup id="radioGroupRateReq" layout="pageDirection" styleClass="PNCText">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var key = getComponent("radioGroupLoanType").getValue();
var val = @DbLookup("","vwRateTypesByLoanTypesOrder",key,"RateName");
return (@IsError(val) || val == "") ? @DbColumn("","vwRateTypesByOrder",2) : val;
}]]></xp:this.value>
</xp:selectItems>
</xp:radioGroup>
我是用作用域变量实现的。radioGroupLoaType的onCLick事件设置radioGroupRateReq的选项并设置值。radioGroupRateReq使用范围变量中的选择。
关于如何做到这一点,有什么更好的想法吗?