2017-07-24 61 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