Chr*_*ose 1 javascript oracle-apex
P998_SESS_INFO 是我的经典报告P998_REFRESH 是隐藏物品P998_REFRESH_RATE 是具有 STATIC 静态值的 LOV:
我在更改设置值时定义了一个 java 脚本表达式类型的动态操作P998_REFRESH:
$x('P998_REFRESH').value = $x('P998_REFRESH_RATE').value;
Run Code Online (Sandbox Code Playgroud)
HTML 标题:
<script type="text/javascript">
var interval = `$`v("P998_REFRESH");
// refresh every 10 seconds
setInterval("jQuery('#P998_SESS_INFO').trigger('apexrefresh');", interval);
</script>
Run Code Online (Sandbox Code Playgroud)
但这行不通。有什么建议吗?谢谢
两个问题:
1 - 此代码不会启动项目上的事件更改。(这会更改页面上的值,但不会触发动态操作)。而不是这个
$x('P998_REFRESH').value = $x('P998_REFRESH_RATE').value;
Run Code Online (Sandbox Code Playgroud)
尝试这个
$s('P998_REFRESH', $x('P998_REFRESH_RATE').value);
Run Code Online (Sandbox Code Playgroud)
2 - 您需要清除之前的 setInterval 值。设置新的间隔还不够。所以你需要在每次调用 setInterval 时存储在一个变量中
var sintervalid = setInterval("jQuery('#P998_SESS_INFO').trigger('apexrefresh');", interval);
Run Code Online (Sandbox Code Playgroud)
并重置
clearInterval(sintervalid);
sintervalid = setInterval("jQuery('#P998_SESS_INFO').trigger('apexrefresh');", interval);
Run Code Online (Sandbox Code Playgroud)
如果我要做这样的事情,我会这样尝试:
1 - 我在我的 html 标题中创建一个全局变量,设置默认值:
<script type="text/javascript">
var sIntervalId = setInterval(function(){
jQuery('#P998_SESS_INFO').trigger('apexrefresh');
}, 30000);
</script>
Run Code Online (Sandbox Code Playgroud)
2 - 我在更改存储间隔的项目时创建动态操作
动态动作:更改项目 P998_REFRESH_RATE
真正的动作:执行javascript代码:
clearInterval(sIntervalId);
sIntervalId = setInterval(function(){
jQuery('#P998_SESS_INFO').trigger('apexrefresh');
}, $x('P998_REFRESH_RATE').value);
Run Code Online (Sandbox Code Playgroud)
***我没有对此进行测试,但或多或少会这样。
| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |