gpt4 book ai didi

javascript - oracle apex 表格形式的动态计算 : sys. htp.p

转载 作者:行者123 更新时间:2023-11-29 10:37:18 26 4
gpt4 key购买 nike

我有表格形式,其中 col1 和 col2 是数字,col3 应该包含 col1 和 col2 之间的差异。

col1 已经有了数据,col 1 是可编辑的,根据col1 的变化,col3 的数据会动态变化。

为了实现这一点,我使用了ajax callback 过程和JavaScript,但问题是差异是0.xx -0.xx,出现解析错误。我可以在 col3 中打印的其他值。

Declare    
p_curr number;
p_prev number;
p_diff number;

Begin
p_prev := to_number(apex_application.g_x01);
p_curr := to_number(apex_application.g_x02);

SELECT p_curr - p_prev into p_diff
from dual;

-- return calculated value
sys.htp.p(p_diff);
End;

--JavaScript

 function f_CALC_DIFF(pThis) {    

var row_id = pThis.id.substr(4);
var s = $('#f18_'+row_id).val().replace(/[^\d.-]/g, '');
var curr = $(pThis).val().replace(/[^\d.-]/g, '');

if(!s){
var s= 0;
var prev = s;}
else{
var prev = s;}

apex.server.process
( "CALC_DIFF", { x01: prev, x02: curr },
{ success: function( pData ) {
$('#f23_'+row_id).val(pData);}}
);
}

请提出上述问题的解决方案。

我正在使用 Oracle Apex 4.2 版

最佳答案

不要使用昂贵的 AJAX 数据库调用,而是使用 JavaScript。

function f_CALC_DIFF(pThis) {    

var row_id = pThis.id.substr(4);
var s = $('#f18_'+row_id).val().replace(/[^\d.-]/g, '');
var curr = $(pThis).val().replace(/[^\d.-]/g, '');

if(!s){
var s= 0;
var prev = s;}
else{
var prev = s;}

var diff = 0;
diff = (curr - prev);
var n = diff.toFixed(2);
alert (n);
$('#f23_'+row_id).val(n);

// Please remove the AJAX call to database.
/*apex.server.process
( "CALC_DIFF", { x01: prev, x02: curr },
{ success: function( pData ) {
$('#f23_'+row_id).val(pData);}}
);
} */

关于javascript - oracle apex 表格形式的动态计算 : sys. htp.p,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34675396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com