【问题标题】:Oracle Apex 5.1 - How to dynamically show/hide the '*' Required symbol on a textfield based on specific conditionOracle Apex 5.1 - 如何根据特定条件动态显示/隐藏文本字段上的“*”必需符号
【发布时间】:2019-03-29 21:38:31
【问题描述】:

我有一个包含两个项目的页面:

  • 第一项是“选择列表”,有两个可能的字符串值(“字符串选择 1”、“字符串选择 2”);
  • 一个简单的文本字段,我在项目的外观部分应用了 Template = 'Required'

因此,当页面加载时,应用程序会显示一个漂亮的“*”符号,以突出显示文本字段的值是强制性的。

这就是问题所在: 当用户在选择列表中选择字符串“字符串选择 1”时,我需要隐藏“*”符号,而当用户在选择列表中选择字符串“字符串选择 2”时,我需要再次显示它。

换句话说,只有当用户在选择列表项中选择“字符串选择 2”时,才需要文本字段的值。

在这种情况下,由于符号“*”不是一个单独的页面项目,可以为其设置“服务器端条件”,因此我不知道如何获得此结果。

有人可以帮助我吗?提前谢谢你,最好的问候

【问题讨论】:

    标签: oracle oracle-apex required


    【解决方案1】:

    您可以在动态操作中尝试以下代码。希望这一切正常。

    $('#P1_TEXT').attr("required", "true");
    

    【讨论】:

      【解决方案2】:

      我不相信有任何内置方法可以做到这一点。我做过类似的事情:

      1. 创建一个自定义 Javascript 函数,该函数接受 Apex 页面项目的 ID 作为参数。该函数定位该项目的标签,并进行所需的任何样式更改以将其标记为必需/非必需。
      2. 在您的应用程序中创建一个动态事件,其中包含一个 Change 事件,并将您的选择列表作为触发该事件的项目。事件动作将是 Execute Javascript,要执行的 JS 是您在 (1) 中创建的函数。

      (1) 中的样式更改将取决于您使用的 Apex 模板的确切主题,所以我不能更具体。我想我使用的是稍旧的,它涉及在标签文本之前添加<img>。其他模板可能需要将类添加到标签或其他东西。我认为在这种情况下,定位页面项目的标签就像使用 #P1_ITEM_LABEL 的 jQuery 选择器一样简单。

      所有这一切都是改变标签的样式,以便向用户指示该字段是否是必需的。它实际上并没有强制执行。您还需要添加用户已选择一个值的验证,并使其有条件,以便在实际需要该字段时执行。

      【讨论】:

        【解决方案3】:

        一个建议是使用APEX API 实用地为文本字段设置所需的属性。

        【讨论】:

          猜你喜欢
          • 2013-02-26
          • 1970-01-01
          • 2015-06-26
          • 1970-01-01
          • 2021-04-11
          • 1970-01-01
          • 2011-07-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多