我正在尝试以 ajax 化的方式禁用 Oracle Application Express (Apex v3) 中表单区域内的按钮。我正在使用 jQuery 来完成 ajax 部分。
$('#P16_MYBUTTON').hide();
在渲染页面上查看源代码时,我注意到该按钮没有 ID,即使在 Apex 中我已经给它起了名字。我浏览了其余的代码,发现其他元素确实有一个 ID。这种行为让我有些困惑。
有任何想法吗?
我正在尝试以 ajax 化的方式禁用 Oracle Application Express (Apex v3) 中表单区域内的按钮。我正在使用 jQuery 来完成 ajax 部分。
$('#P16_MYBUTTON').hide();
在渲染页面上查看源代码时,我注意到该按钮没有 ID,即使在 Apex 中我已经给它起了名字。我浏览了其余的代码,发现其他元素确实有一个 ID。这种行为让我有些困惑。
有任何想法吗?
Apex 4.0 会自动为每个按钮分配一个 ID。在 Apex 3.x 中,您可以通过按钮的 Attributes 属性自己分配一个:
id="P16_MYBUTTON"
如果该按钮是 HTML 按钮,则足以使其工作;如果按钮基于模板,那么您需要确保模板定义在适当的位置包含 #BUTTON_ATTRIBUTES# 替换字符串 - 例如:
<a class="myButton" href="#LINK#" #BUTTON_ATTRIBUTES#>#LABEL#</a>
我不知道 Apex 是如何进行渲染的,但是,您可以使用另一个 JQuery 选择器来定位按钮,例如,如果您知道此按钮的直接父级的 ID 或 html 标记名称,您可以使用类似的内容:
$('form > button:first').hide()
为了将来参考,请下载此 refcard: