XForms动态绑定与触发器插入值

时间:2013-05-22 11:22:03

标签: xforms

是否可以为重复元素设置数据类型?当我使用bind时,重复中的所有元素都使用相同的数据节点(具有相同的值)。当重复中存在简单的文本字段时(在使用insert添加更多元素之后,每个元素可能具有不同的值),不会出现此问题。在这段代码中有复选框和按钮来添加另一个复选框,但是当我添加另一个元素并更改复选框值时,所有这些都被更改。

<head>
    <xf:model>
        <xf:instance xmlns="">
            <ProcessData>
                <chck1s>
                    <chck1>true</chck1>
                </chck1s>
            </ProcessData>
        </xf:instance>
        <xf:bind nodeset="/ProcessData/chck1s/chck1" type="xs:boolean"/>        
    </xf:model>  
</head>
<body>
    <xf:group>
        <xf:repeat id="chck1s" nodeset="/ProcessData/chck1s/chck1">
            <xf:input ref="/ProcessData/chck1s/chck1">
                <xf:label>test checkbox1</xf:label>
            </xf:input>
        </xf:repeat>
        <xf:trigger>
            <xf:label>+</xf:label>
            <xf:action ev:event="DOMActivate">
                <xf:insert at="index('chck1s')" nodeset="/ProcessData/chck1s/chck1" position="after"/>
            </xf:action>
        </xf:trigger>
    </xf:group>

1 个答案:

答案 0 :(得分:1)

你应该在repeat中修改输入控件来访问当前项而不是第一项。

<xf:input ref=".">

-Alain