Oracle APEX - passing IG column value to javascript(Oracle APEX-将IG列值传递给javascript)
问题描述
我有一个具有链接列的IG,其中目标设置为URL,并且我使用它来调用javascript。
我想要完成的是每当单击链接列时,获取另一个隐藏列的值并将页面项目设置为该值:
javascript:$s('P1_ITEM',#COLUMN2#);alert($v('P1_ITEM'));
但是,如果我仅使用#COLUMN#
引用COLUMN2值,我会得到一个javascript错误,如果我用单引号将其括起来,则P1_ITEM的值从字面上设置为#COLUMN2#
。
推荐答案
我建议您首先移动到动态操作,而不是尝试将所有代码放在链接中。此外,我认为按钮比链接更好(并且可以将它们的样式设置为类似于链接)。 首先转到https://apex.oracle.com/ut。导航到Reference>;Button Builder并构建所需的按钮。然后从整个标记字段复制值。
将"链接"列的"类型"更改为"HTML表达式",并将按钮生成器中的HTML粘贴到"HTML表达式"字段中。我设置了按钮的样式,使其看起来像一个链接(正如您所做的那样),向名为my-button的类属性添加了一个自定义类,并为主键值添加了一个数据属性(我的表是EMP,所以PK是EMPNO)。最后是这样的:
<button type="button" class="t-Button t-Button--link my-custom-button" data-id="&EMPNO.">Click me!</button>
为交互网格指定静电ID值my-ig。
完成此操作后,创建一个新的动态操作。将Name设置为.my-button click,event设置为Click,将Type设置为jQuery Selector,将jQuery Selector设置为.my-button。最后,将事件范围设置为动态,这将在报表刷新时使用事件委托来保持事件绑定工作(请参见this for details)。在操作中,将操作设置为执行JavaScript代码。在代码字段中输入以下代码:
var id = $(this.triggeringElement).data('id');
var model = apex.region('my-ig').call('getViews').grid.model;
var record = model.getRecord(id);
var job = model.getValue(record, 'JOB');
$s('P1_ITEM', job);
alert($v('P1_ITEM'));
此代码首先使用jQuery的data
方法从按钮的data-属性获取主键的值。接下来,获得对IG使用的模型的引用。然后调用模型的getRecord
方法并传入主键值。最后,使用模型的getValue
方法从记录中获取"job"值。我查找JOB列是因为我使用的是EMP表,但是您可以查找您需要的任何列。
这篇关于Oracle APEX-将IG列值传递给javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Oracle APEX-将IG列值传递给javascript
基础教程推荐
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01