2010-07-21 44 views
1

我試圖以ajax-ified的方式禁用Oracle Application Express(Apex v3)中的表單區域內的按鈕。我使用jQuery來完成ajax部分。以編程方式在使用javascript/jQuery的oracle apex中禁用按鈕

$('#P16_MYBUTTON').hide(); 

在呈現的頁面上做一個視圖源我注意到該按鈕沒有ID,即使在Apex中我已經給它一個名字。我掃描了代碼的其餘部分,並注意到其他元素有ID。這種行爲對我來說有些困惑。

任何想法?

回答

4

Apex 4.0會自動爲每個按鈕分配一個ID。心尖3.x中,你可以通過按鈕的屬性屬性自行分配一個:

id="P16_MYBUTTON" 

如果按鈕是一個HTML按鈕,然後足以使其工作;如果按鈕基於模板,那麼你需要確保模板定義包含在適當的位置#BUTTON_ATTRIBUTES#替換字符串 - 例如:

<a class="myButton" href="#LINK#" #BUTTON_ATTRIBUTES#>#LABEL#</a> 
+0

謝謝!完美工作。我注意到的其他事情是,按鈕樣式必須設置爲HTML按鈕才能顯示ID;似乎如果你使用模板按鈕它不會被給予一個ID。 – maximus 2010-07-21 17:57:07

+0

它可以 - 查看我更新的答案。 – 2010-07-22 08:05:02

3

我不知道的Apex如何完成其​​渲染的東西不過,你可以使用另一個jQuery選擇來定位按鈕,舉例來說,如果你知道這個按鈕的直接家長,你可以使用類似的ID或HTML標籤:

$('form > button:first').hide() 

以供將來參考,下載這張卡片:

http://refcardz.dzone.com/refcardz/jquery-selectors

+0

+1對於非常有用的refcard! – 2010-07-21 15:08:13

+0

+1我也是! – maximus 2010-07-21 17:57:39

相關問題