通过 SSJS 获取 xpages 中的单选按钮组中的选择值



我在xpages应用程序中有以下要求:

我有一个带有两个选项的单选按钮组。我有一个组合框,其值将根据单选按钮组中选择的选项计算。这些选项将根据与单选按钮的 onChange 事件关联的组合框的部分刷新进行计算。

我的问题是我无法在单选按钮上选择的值来安装组合框选项。当我通过 SSJS 进行组装时,我必须在 SSJS 中获取在单选按钮上选择的值。xpages 上是否有任何组件/方法可以从中获取所选值?

我知道通过RPC组件或jquery coould通过CSJS获得选定的值,但我只想使用SSJS。

感激

克努特

我根据您的建议,根据

下面的代码做了一个例子,但它不起作用。因为?

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:radioGroup id="radioGroup2">
    <xp:selectItem itemLabel="a"></xp:selectItem>
    <xp:selectItem itemLabel="b"></xp:selectItem>
    <xp:selectItem itemLabel="c"></xp:selectItem>
    <xp:eventHandler
        event="onclick"
        submit="true"
        refreshMode="partial" refreshId="computedField2" execMode="partial"   execId="radioGroup2">
    </xp:eventHandler></xp:radioGroup>
<xp:text
    escape="true"
    id="computedField2"
    value="#{javascript:getComponent('radioGroup2').getValue()}">
</xp:text><xp:br></xp:br><xp:br></xp:br>
</xp:view>

使用

getComponent('radioGroup1').getValue()

将"radioGroup1"替换为单选按钮组的 ID

下面是一个示例:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view
    xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:radioGroup
        id="radioGroup1"
        value="#{viewScope.radio}">
        <xp:selectItem itemLabel="a" />
        <xp:selectItem itemLabel="b" />
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="partial"
            refreshId="checkBoxGroup1" execMode="partial" execId="radioGroup1">
        </xp:eventHandler>
    </xp:radioGroup>
    <xp:br></xp:br>
    <xp:checkBoxGroup
        id="checkBoxGroup1"
        value="#{viewScope.check}">
        <xp:selectItems>
            <xp:this.value><![CDATA[#{javascript:
                if (!getComponent('radioGroup1').getValue()) {
                    return [];
                }
                if (getComponent('radioGroup1').getValue() == 'a') {
                    return ['A1', 'A2'];
                }
                return ['B1', 'B2'];
            }]]></xp:this.value>
        </xp:selectItems>
    </xp:checkBoxGroup>
</xp:view>
在此示例中,您可以使用

viewScope.radio而不是getComponent('radioGroup1').getValue()因为无线电的值存储在视图范围变量中。

我已经通过在组合框的计算值中使用getComponent("RadioButtonGroup1").getValue()来做类似的操作。或者你可以使用这个:

this.getParent().getValue()

以填充组合框所基于的作用域变量。

相关内容

  • 没有找到相关文章

最新更新