0

我正在尝试创建一个弹出窗口以允许用户编辑实体的详细信息。有一个人列表(重复控件),当您单击他们的任何名字时,弹出窗口应该让您编辑该人的另一个数据。像这样的图:

在此处输入图像描述

我设法做到这一点的唯一方法是在表单中创建一个隐藏的 div,并使用 JQuery-UI 显示它。所以,这个 div 绑定到一个“临时人”,一旦编辑,我将这些临时值复制到最终列表中。像这样的东西:

<people>
    <person name="Alice" age="32" phone="+33..."/>
    <person name="Mike" age="27" phone="+54..."/>
    <person name="Aureline" age="60" phone="+33..."/>
</people>

<tmpPerson  name="" age="" phone=""/>

但问题是,只需添加新寄存器很容易,因为我只需在控件中加载空白值(tmpPerson 为空白),一旦完成,我只需要使用原点进行插入......但在这种情况下注册表已经存在,加载值并不容易......我尝试使用 IF 但它不起作用(既不是警报)也没有“else”语句。那么,如何确定是否必须加载注册表?

<xf:trigger id="loadExistingValues">
    <xf:label>Load values</xf:label>
    <xf:action ev:event="DOMActivate"
        if="not(instance('people')/person[@id='Mio')">
            <xf:alert>Here should be the code for a new person creation</xf:alert>
    </xf:action>
</xf:trigger>

我的意思是,我知道我可以通过 Javascript 读取数据模型,搜索名为“Mio”的人,如果确实存在,也可以通过 JS 加载值,但如果我必须插入一个新的“人”,我可以'不只用 JS 来做,所以我唯一能想到的就是用 XForms 动作创建一个触发器,然后从 JS 触发它。但是所有这些东西听起来都很复杂。也许任何人都可以帮助我提出想法或一个简单的例子?我找不到这样的演示!

4

1 回答 1

1

您应该尝试对话框,它是 XForms 2.0 中的一个新特性,在 XSLTForms 中已经部分支持。

于 2014-12-29T18:15:07.893 回答