Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle Apex 5.1-如何动态显示/隐藏'*';基于特定条件的文本字段上的必需符号_Oracle_Oracle Apex_Required - Fatal编程技术网

Oracle Apex 5.1-如何动态显示/隐藏'*';基于特定条件的文本字段上的必需符号

Oracle Apex 5.1-如何动态显示/隐藏'*';基于特定条件的文本字段上的必需符号,oracle,oracle-apex,required,Oracle,Oracle Apex,Required,我有一个包含两项的页面: 第一项是一个“选择列表”,包含两个可能的字符串值(“字符串选择1”、“字符串选择2”) 一个简单的文本字段,我在项目的外观部分为其应用了模板='Required' 因此,当加载页面时,应用程序会向highlightth显示一个漂亮的“*”符号,表示textfield的值是必需的 问题是: 当用户在选择列表中选择字符串“字符串选择1”时,我需要隐藏“*”符号,而当用户在选择列表中选择字符串“字符串选择2”时,我需要再次显示它 换句话说,只有当用户在选择列表项中选择“字

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

  • 第一项是一个“选择列表”,包含两个可能的字符串值(“字符串选择1”、“字符串选择2”)
  • 一个简单的文本字段,我在项目的外观部分为其应用了模板='Required'
因此,当加载页面时,应用程序会向highlightth显示一个漂亮的“*”符号,表示textfield的值是必需的

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

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

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


有人能帮我吗?提前感谢您,祝您好运

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

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

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

  • 创建一个自定义Javascript函数,该函数接受Apex页面项的id作为参数。该函数定位该项的标签,并进行任何需要的样式更改,以将其标记为必需/非必需
  • 在应用程序中创建一个动态事件,其中包含一个更改事件,选择列表作为触发事件的项。事件操作将是ExecuteJavaScript,要执行的JS是您在(1)中创建的函数
  • (1)中的样式更改将取决于您正在使用的Apex模板的确切主题,因此我无法更具体地说明。我想我使用的是一个稍旧的标签,它涉及到在标签文本之前添加一个
    。其他模板可能需要将类添加到标签或其他内容中。我认为,在这种情况下,查找页面项的标签非常简单,只需使用jQuery选择器
    #P1_item_label


    所有这些都只是更改标签的样式,以便向用户指示该字段是否为必填字段。它实际上并没有强制执行这一点。您还需要添加一个验证,以确认用户选择了一个值,并将该值设置为有条件的,以便在实际需要该字段时执行。

    一个建议是使用来实际设置文本字段的必需属性