3

我在 Oracle Apex 4.1 中有一个交互式报告。当我单击该交互式报告上的链接按钮时,我需要将列值传递给顶点项目。我在谷歌上搜索并找到了一个解决方案:

onclick="$s('P4_PAGEITEM', #COLUMN_NAME#); return false;" 

但它似乎只适用于数字。当我尝试传递一个字符串值时,它总是返回wrong number format.

另外,我可以从 JavaScript 访问交互式报告列值吗?

4

2 回答 2

3

#COLUMN_NAME#是一个替换字符串。它将从字面上将该行的列值放入字符串中。
当值为数字时,会生成

onclick="$s('P4_PAGEITEM', 9875); return false;"  

现在,如果该值是一个字符串

onclick="$s('P4_PAGEITEM', ALLEN); return false;"  

要解决这个问题,请通过添加引号来更改您的链接#COLUMN_NAME#

onclick="$s('P4_PAGEITEM', '#COLUMN_NAME#'); return false;"  

另外,我可以从 JavaScript 访问交互式报告列值吗?

您看到的页面上的所有 HTML 都可以从 javascript/jQuery 访问,并且只需要您使用正确的选择器。不过,您确实需要了解 HTML 和 DOM。
一个好的开始是始终使用带有正确工具的浏览器,这将允许您检查元素、html、dom、javascript、css... 一个例子是 Firefox 的 Firebug 插件。
报告中的目标值要求您了解其标记,您可以通过检查生成的页面 html 找到该标记。请记住,页面和区域模板可能会有所不同,具体取决于您使用的主题。

如果您对此感到困惑,请发布一个关于它的新问题并提供 html 并解释您想要了解的内容。此问题是在表中定位值的示例:How to select a row element value from Oracle APEX 4 Classic Report (row element from a table tags)

于 2012-10-15T07:32:48.387 回答
1

您是否尝试过在列值周围使用引号?:

onclick="$s('P4_PAGEITEM', '#COLUMN_NAME#'); return false;"

这个对我有用。

于 2012-10-15T07:27:43.567 回答