0

2 つのラジオ ボタン グループがあります。2 つのボタンは、radioGroupLoanType と radioGroupLoanType です。

radioGroupLoanType の選択肢は、radioGroupLoanType の選択肢によって変わります。それはうまくいきます。

選択肢が 1 つしかない場合は、radioGroupLoanType のクリック イベントによって radioGroupLoanType の値が設定されます。発生しているように見えるのは、値が1クリックおきに設定されるだけです。選択範囲を 2 回クリックすると、適切な値が設定されます。

私が考えているのは、値が設定されているときに radioGroupLoanType の選択肢が設定されていないことです。これは、@DbLookup の代わりに @DbColumn を使用して、radioGroupLoanType の値の定数リストを作成することで証明できます。

これを行う方法に関する他のアイデアはありますか?

  <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>
4

1 に答える 1

0

スコープ変数でこれを機能させました。radioGroupLoanType の onCLick イベントは、radioGroupRateReq の選択肢を設定し、値を設定します。radioGroupRateReq は、スコープ変数からの選択を使用します。

これを行う方法に関するより良いアイデアはありますか?

于 2012-08-01T19:28:09.523 に答える