在重复控件中访问可编辑字段的值

Accessing value of Editable field in repeat control

如何访问重复控件中计算字段的值? 在下面的示例中,我在重复控件中使用了 cfT5Budget。我希望能够访问每个 cfT5Budget 控件的值(repeat1:0:cfT5Budget、repeat1:1:cfT5Budget 等)

我希望能够将相同的值复制到我的第二个重复控件中。我将在第二个控件中做其他事情,但对于这个例子,它只是一个简单的代码。

<xp:table>
    <xp:repeat id="repeat1" var="rowItem1" indexVar="indexVar1">
        <xp:this.value><![CDATA[#{javascript:['a', 'b', 'c']}]]></xp:this.value>
        <xp:tr>
            <xp:td>
                <xp:text escape="true" id="cfT5Budget" value="#{javascript:5 + indexVar1}">
                </xp:text>
            </xp:td>

        </xp:tr>
    </xp:repeat>
</xp:table>
<xp:table>
    <xp:repeat id="repeat2" var="rowItem2" indexVar="indexVar2">
        <xp:this.value><![CDATA[#{javascript:getComponent('repeat1').getValue()}]]></xp:this.value>
        <xp:tr>
            <xp:td>
                <xp:text escape="true" id="cfT5Budget2" value="#{javascript:VALUE OF cfT5Budget GOES HERE}">
                </xp:text>
            </xp:td>

        </xp:tr>
    </xp:repeat>
</xp:table>

提前谢谢你:)

简短的回答:使用数据绑定。

长答案:

在 MVC 中,您的代码不应与视图(a.k.a 字段)交互,而是与模型(a.k.a 数据)交互。因此,不是像示例中那样计算值,而是使用重复中提供的变量名绑定它们。

您与该集合(数组)而不是字段进行交互。这使得代码更简单、更健壮,因为代码不需要关心使用什么 UI 元素。

希望对您有所帮助