2010-07-21 51 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

相关问题