0

我快疯了:我无法在 onchange 事件中访问组合框的选定值:

<xp:comboBox id="comboBox1" value="#{sessionScope.groupBy}">
<xp:selectItem itemLabel="nothing" itemValue=""></xp:selectItem>
<xp:selectItem itemLabel="State" itemValue="state"></xp:selectItem>
<xp:selectItem itemLabel="CCType" itemValue="cctype"></xp:selectItem>

<xp:eventHandler event="onchange" submit="true" refreshMode="complete">
            <xp:this.action>
                <xp:executeScript>
                    <xp:this.script>
<![CDATA[
#{javascript:sessionScope.groupBy = getComponent("comboBox1").getValue();
print( getComponent("comboBox1").getValue() )}
]]>
</xp:this.script>
                </xp:executeScript>
            </xp:this.action>
</xp:eventHandler>
</xp:comboBox>

我想存储值并重新加载页面以访问我刚刚提交的值。我也试过 getSubmittedValue() 和 value only。他们总是返回 null。

这里的诀窍是什么?

4

2 回答 2

0

我遇到了类似的问题,尝试了以下选项,它对我有用。

将组合框的onChange事件上的 Server Options 设置为 Full Update 并选中选项“Process Data without validation

这将为您提供所需的结果。(您的 sessionScope.groupBy 将设置为组合框的新选定值。

于 2013-10-24T17:07:29.847 回答
0

我有一个类似的问题,但如果我理解你的困惑,我可能会有一个解决方案。您正在尝试捕获您选择正确的组合框字段的值?这是组合框的代码(名称:POVendor)。我从中绘制列表的视图名为“PLBV”。

@DbColumn(@DbName(), "PLBV", 1)

这是 Computed 字段的代码,用于捕获组合框中选择的值。只需从组合框中对计算字段进行部分刷新,它应该可以正常工作。

var item = document1.getValue("POVendor");

归还物品;

于 2013-05-31T13:57:42.807 回答