我最近创建了一个带有重复的表单生成器表单来显示数据列表。重复工作正常。我的问题是我需要获取重复内部数据的索引,以便我可以使用它从表中获取另一组数据。
这是我的
<fr:grid columns="2" repeat="true" ref="instance('fr-form-data')/name" id="data-repeat" origin="instance('fr-form-data-template')">
<xh:tr>
<xh:td>
<xf:output id="name-control" ref="person_name">
<xf:label>Name :</xf:label>
</xf:output>
</xh:td>
<xh:td>
<xf:trigger>
<xf:label>Get</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="instance('fr-param-instance')/person/mni" value="am_mni"/>
<xf:send submission="get-invl"/>
</xf:action>
</xf:trigger>
</xh:td>
</xh:tr>
</fr:grid>
我需要把数据放到这里:
<xf:setvalue ref="instance('fr-param-instance')/person/mni" value="am_mni"/>
由于
答案 0 :(得分:1)
如果重复内部有一个元素am_mni
,与person_name
处于同一级别,则xf:setvalue
可能如下所示:
<xf:setvalue ref="instance('fr-param-instance')/person/mni"
value="context()/am_mni"/>
context()
指的是xf:setvalue
运行的上下文,它将是当前的重复迭代,因为它在重复内部。如果你只是写value="am_mni"
,那么这将相对于ref
进行评估,从而返回instance('fr-param-instance')/person/mni/am_mni
,在你的情况下很可能是一个空序列。