【问题标题】:Orbeon XForms - HowTo: Copy value of repeater field via TriggerOrbeon XForms - HowTo:通过触发器复制转发器字段的值
【发布时间】:2015-06-30 14:17:05
【问题描述】:

我有一个 XForm,其中包含一个用于呈现表格的转发器。表的每一行都有一个触发器。当触发器被激活时,我想为当前行获取表中一个单元格的值,并将该值复制到另一个实例

<xh:table class="dataTable">
    <xh:tr>
        <xh:th>Date</xh:th>
        <xh:th>Copy?</xh:th>
    </xh:tr>

    <xf:repeat nodeset="instance('fr-form-instance')/Pathology/*:TimeSeriesStructure[*:Type/*:TypeId='ALB']/*:DataPoint">
        <xh:tr>
            <xh:td>
               <xf:output ref="*:DateTime"/>
            </xh:td>
           <xh:td>
               <xf:trigger xxf:modal="true">
                    <xf:label>Select</xf:label>
                    <xf:action ev:event="DOMActivate">
                         <xf:setvalue bind="target-bind">
                            <xf:output ref="*:DateTime"/>
                         </xf:setvalue>
                    </xf:action>
               </xf:trigger>
           </xh:td>
      </xh:tr>
   </xf:repeat>
 </xh:table>

在这种情况下,我想在触发器激活时将 Date 字段的值复制到由“target-bind”绑定的项目。

目前(如上),现有值(通过“target-bind”绑定的元素)被删除,但新值 (*:DateTime) 未被复制。

【问题讨论】:

    标签: xml orbeon xforms


    【解决方案1】:

    现在解决了。问题是 setvalue 部分中的目标绑定。这意味着输出正在寻找名为 DateTime 的绑定的子节点。当它应该查看转发器正在渲染的节点时。将其移出到变量并以这种方式访问​​它解决了问题

    <xh:table class="dataTable">
         <xh:tr>
        <xh:th>Date</xh:th>
        <xh:th>Copy?</xh:th>
    </xh:tr>
    
    <xf:repeat nodeset="instance('fr-form-instance')/Pathology/*:TimeSeriesStructure[*:Type/*:TypeId='ALB']/*:DataPoint">
        <xf:var name="itemVal" value="*:DateTime"/>        
        <xh:tr>
            <xh:td>
               <xf:output value="$itemVal"/>
            </xh:td>
           <xh:td>
               <xf:trigger xxf:modal="true">
                    <xf:label>Select</xf:label>
                    <xf:action ev:event="DOMActivate">
                         <xf:setvalue bind="target-bind" value="$itemVal" />
                    </xf:action>
               </xf:trigger>
           </xh:td>
      </xh:tr>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多