将第一部分内容复制到其他现有部分

时间:2012-01-20 12:29:08

标签: orbeon xforms

让我们假设这是我的模型实例:

<xforms:instance id="main">
    <form>
        <section-1/>
        <section-2/>
        <rep-section>
            <a/>
            <b/>
            <c/>
        </rep-section>
    </form>
</xforms:instance>

我有一个场景,其中我有一个可重复的部分<rep-section>,可以通过表单中的“添加”按钮动态添加到表单中。仅在第一部分“复制到其他部分”上有另一个按钮,单击该按钮应将第一部分中的全部内容复制到其余部分。假如我有7个部分,则应将第一部分内容复制到剩余的6个部分。

请告知我们如何实现这一目标。

我有一个很好的想法,但我认为应该有一个优化的方法来做到这一点。

<xforms:trigger appearance="minimal">
    <xforms:label>Copy to other Sections</xforms:label>
    <xforms:action ev:event="DOMActivate">???</xforms:action>
</xforms:trigger>

1 个答案:

答案 0 :(得分:1)

以下将会这样做:

<xforms:trigger>
    <xforms:label>Copy to other section</xforms:label>
    <xforms:action ev:event="DOMActivate">
        <xxforms:variable name="source" select="."/>
        <xforms:action ev:event="DOMActivate" xxforms:iterate="../* except .">
            <xforms:delete ref="*"/>
            <xforms:insert context="." origin="$source/*"/>
        </xforms:action>
    </xforms:action>
</xforms:trigger>

您可以在此full example中查看。