2017-07-24 43 views
0

4.2表格形式复选框,我有一个顶点表格的形式:的Oracle APEX已更改的列值

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

等等

我试图激活“复选框” ROW_EDIT列 - 其中有一个默认值为Y - 当用户更改同一行中表格形式列Class(选择列表)的值时。我可以改变ROW_EDIT属性为文本(即Y)如果容易...

我没有apex_items的页面引用 - 所有列是表格形式。

我研究了一些动态变化事件 - 但我似乎无法得到正确设置的行参考。

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

+0

据我所知,只有JavaScript代码才可能。你可以吗? – Dmitry

+0

是的,JavaScript是可以的。谢谢你...任何帮助你可以提供非常感谢。 – mikestu12

回答

0

不幸的是,上次我看到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