【问题标题】:Oracle Apex 4.2 Tabular Form checkbox for changed column value用于更改列值的 Oracle Apex 4.2 表格形式复选框
【发布时间】:2017-07-24 14:58:40
【问题描述】:

我有一个 Apex 表格形式:

ID Name    Title   Class    ROW_EDIT <br>
1  Smith    Mgr     AP      (checkbox)<br>

等等……

我正在尝试激活“复选框”ROW_EDIT 列 - 默认值为 Y - 当用户更改同一行中表格形式列 Class(选择列表)的值时。如果更简单,我可以将ROW_EDIT 属性更改为文本(即Y)...

我没有可供页面参考的 apex_items - 所有列都是表格形式。

我研究了一些动态变化事件 - 但我似乎无法正确设置行引用。

任何帮助将不胜感激。 谢谢

【问题讨论】:

  • 据我所知,只有 JavaScript 代码才有可能。你还好吗?
  • 是的,JavaScript 没问题。谢谢...非常感谢您提供的任何帮助。

标签: oracle forms plsql oracle-apex tabular


【解决方案1】:

很遗憾,我上次看到 APEX 4.2 是在 2 年前,而我现在没有。
思路如下:

  • 添加 onchange 事件以选择列表。我不记得有没有简单的方法可以做到这一点。如果没有,您可以使用 APEX_ITEM 包手动创建选择列表。为此,请在源查询中写入:

    select apex_item.select_list_from_lov (
             p_idx => 10, 
             p_value => class, -- it is a name of a table column
             p_lov => 'my_lov_name', 
             p_attributes => 'onchange="my_func.call(this);"')
      from ...
    
  • 在页面属性(JavaScript 部分)中,创建一个 javascript 函数:

    function my_func () {
       this.parentElement.parentElement.getElementsByTagName("input")[0].checked = true;
    }
    

函数中的参数this是对选择列表的引用。因此,this.parentElement.parentElement - 引用带有触发选择列表的行,getElementsByTagName("input")[0] 是一个复选框。如果行中有多个输入元素,请使用正确的索引而不是 0
这个 JavaScript 代码是如何工作的,你可以在这里查看:https://codepen.io/anon/pen/NvPmPp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多