【问题标题】:Orbeon forms - clear dropdown labelOrbeon 表单 - 清除下拉标签
【发布时间】:2021-03-15 13:24:28
【问题描述】:

我有 2 个下拉列表(country_1 和 country_2)填充国家/地区。两者都是必需的。如果我在 country_1 下拉菜单中选择 value some,则 country_2 下拉菜单应被清除(值和标签)。

例子:

  1. 在 country_1 下拉列表中,我选择了一些内容。
  2. 在 country_2 下拉列表中,我选择了一些内容。
  3. 在 country_1 下拉列表中,我更改了值。 country_2 应该被清除。
  4. 当我验证表单时,在 country_2 下拉列表中出现错误(因此该值似乎已被清除)。

我想在第 3 步中 country_2 将有空标签。

我为 country_1 下拉菜单添加了值更改操作,这应该会清除 country_2 下拉菜单的值和标签。

示例形式: https://demo.orbeon.com/demo/fr/orbeon/builder/edit/bc71b6532f4faee1ec711105a2db00bb65995d80

源码:https://gist.github.com/mmakos-profidata/9728f086da3abc7bd96af27c8d5a70b8

错误画面:

【问题讨论】:

    标签: orbeon


    【解决方案1】:

    将您的代码移动到<xf:model> 中就可以了。我已经在demo.orbeon.com 上更新了你的表单,但万一它消失了,这是我直接放在<xf:model> 中的sn-p:

    <xf:action event="xforms-value-changed" observer="c_country_1-control">
        <xf:action if="//c_country_1 != 'af'">
            <xf:setvalue ref="//c_country_2"/>
            <xf:setvalue ref="//c_country_2/@label"/>
        </xf:action>
    </xf:action>
    

    【讨论】:

    • 嘿亚历克斯,你确定它应该有效吗?我已经发布了这个表格(在demo.orbeon.com),测试了它,我得到了和以前一样的错误。我已经在我的本地环境(orbeon 版本 2019.1.0)上对其进行了测试,但我也遇到了错误。我还确保代码在 中。我更新了我的问题并添加了错误的屏幕截图。
    • @m.makos 我的错:我更新了上面答案中的代码。您应该使用//c_country_1 而不是. 来访问第一个下拉列表的值。在表单源代码中,我还删除了您在第二行的“值”和“标签”字段中的可见性条件,以便我们可以看到这些值正在重置。
    • 嘿,亚历克斯,仍然没有像我预期的那样工作。清除“值”和“标签”字段对我来说是不够的(这些字段仅用于显示值更改)。下拉列表 c_country_2 上的标签也应该被清除。我已经编辑了我的问题和表格,以简化问题。
    • 啊!该值在数据中被重置,但控件错误地保留了旧值。这是一个错误。我已经创建了问题 #4731,我们会在即将到来的 2020.1 之前及时修复它。
    • @m.makos 好了,#4731 问题现已修复,将包含在 2020.1 中。
    猜你喜欢
    • 2020-10-13
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 2017-08-14
    • 2023-03-05
    • 2019-09-13
    • 1970-01-01
    相关资源
    最近更新 更多