Oracle APEX 比较两个项目值以触发动态操作
Oracle APEX Compare Two Items Values to Fire a Dynamic Action
我想创建一个动态操作,当我的页面项目 P2014_BALANCE < P2014_CURRENT_PRICE 然后 P2014_CURRENT_PRICE 获得静态值 0 时。
问题是我无法比较这两个页面项目。我尝试在动态操作的 when 部分使用 Javascript 表达式,如下所示:
if(apex.item( "P2014_CURRENT_PRICE " ).getValue() < apex.item( "P2014_CURRENT_PRICE " ).getValue()){
alert('Wrong Number');
};
但是当我的页面加载时出现错误(甚至 Fire on Initialization = False)。
我也试试这个:
仍然没有。
这是一个网络应用程序。所有页面项目都包含字符串值。所以如果你想做数字比较,把它们设为数字:
if (Number(apex.item( "P2014_BALANCE" ).getValue()) < Number(apex.item( "P2014_CURRENT_PRICE" ).getValue())) {
alert('Wrong Number');
};
请注意,在您的示例中,您有两次 P2014_CURRENT_PRICE - 无论如何都会产生 false。
这就是您在动态操作中的实现方式。请注意,我在 21.1 上试过,但它在 5 中应该类似(考虑升级):
更改 项目 P2014_CURRENT_PRICE
的动态操作,客户端条件类型为 Javascript 表达式
来源:
apex.locale.toNumber(apex.item( "P2014_CURRENT_PRICE" ).getValue()) > apex.locale.toNumber(apex.item( "P2014_BALANCE" ).getValue())
真正的行动与行动设置价值
设置类型 静态分配
值“0”
受影响的元素 项目 P2014_CURRENT_PRICE
我想创建一个动态操作,当我的页面项目 P2014_BALANCE < P2014_CURRENT_PRICE 然后 P2014_CURRENT_PRICE 获得静态值 0 时。 问题是我无法比较这两个页面项目。我尝试在动态操作的 when 部分使用 Javascript 表达式,如下所示:
if(apex.item( "P2014_CURRENT_PRICE " ).getValue() < apex.item( "P2014_CURRENT_PRICE " ).getValue()){
alert('Wrong Number');
};
但是当我的页面加载时出现错误(甚至 Fire on Initialization = False)。
我也试试这个:
仍然没有。
这是一个网络应用程序。所有页面项目都包含字符串值。所以如果你想做数字比较,把它们设为数字:
if (Number(apex.item( "P2014_BALANCE" ).getValue()) < Number(apex.item( "P2014_CURRENT_PRICE" ).getValue())) {
alert('Wrong Number');
};
请注意,在您的示例中,您有两次 P2014_CURRENT_PRICE - 无论如何都会产生 false。
这就是您在动态操作中的实现方式。请注意,我在 21.1 上试过,但它在 5 中应该类似(考虑升级):
更改 项目 P2014_CURRENT_PRICE
的动态操作,客户端条件类型为 Javascript 表达式
来源:
apex.locale.toNumber(apex.item( "P2014_CURRENT_PRICE" ).getValue()) > apex.locale.toNumber(apex.item( "P2014_BALANCE" ).getValue())
真正的行动与行动设置价值
设置类型 静态分配
值“0”
受影响的元素 项目 P2014_CURRENT_PRICE