Oracle apex Oracle Apex-在动态操作中通过一次刷新刷新所有子区域

Oracle apex Oracle Apex-在动态操作中通过一次刷新刷新所有子区域,oracle-apex,Oracle Apex,我正在使用APEX 19.2.0.00.18。我有一个页面,其中有一个静态区域和4个图表子区域,还有一个单选按钮,允许用户选择要在图表中显示的序列(总数、平均数、中值)。我设置了一个动态操作,在单选按钮值更改时刷新图表。此动态动作包括: 执行null PL/SQL代码以提交单选按钮值 刷新图表分区域1 刷新图表分区域2 刷新图表分区域3 刷新图表分区域4 是否有任何方法可以简化此过程,以便通过一次刷新来刷新所有4个图表子区域?我在这个页面上有多个这样的静态区域(即,包含多个图表子区域),因此重新

我正在使用APEX 19.2.0.00.18。我有一个页面,其中有一个静态区域和4个图表子区域,还有一个单选按钮,允许用户选择要在图表中显示的序列(总数、平均数、中值)。我设置了一个动态操作,在单选按钮值更改时刷新图表。此动态动作包括:

  • 执行null PL/SQL代码以提交单选按钮值
  • 刷新图表分区域1
  • 刷新图表分区域2
  • 刷新图表分区域3
  • 刷新图表分区域4
  • 是否有任何方法可以简化此过程,以便通过一次刷新来刷新所有4个图表子区域?我在这个页面上有多个这样的静态区域(即,包含多个图表子区域),因此重新加载整个页面不是一个理想的选择。

    在这里回答前面的问题

    可以通过多种方式应用,但是您正在使用JSAPI刷新具有给定选择器的任何区域,在本例中为refreshme类

    $('.refreshme').trigger('apexrefresh');
    
    API产品随着时间的推移发生了变化,是一种更新的方法

    apex.region( "static_id1" );
    apex.region( "static_id2" );
    

    正如Daniel指出的,这些需要作为静态ID提供,而不是给定的选择器。我应该意识到这一点,因为示例中没有静态ID的#。

    Scott的答案非常正确,但是如果您决定使用较新的apex.region JS API,则必须将其与区域静态ID一起使用。 因此,只需为要刷新的区域提供一个静态id,然后像这样使用API(例如,在执行JavaScript动态操作中):


    谢谢你的建议-这简化了很多事情。我想知道是否有一种解决方案不涉及将静态ID显式分配给所有子区域,并为每个子区域运行单独的.refresh()。例如,如果父区域的ID为“parentregion”,有没有办法运行一个针对父区域所有子区域的.refresh()?啊,我想知道它是否需要静态ID,或者演示只是把它作为一个选择器来演示。嗯,您可以给每个区域指定一个特定的类,然后遍历所有分配了该类的div:
    $('div.my-region-class')。each(function(){apex.region($(this.attr('id')).refresh();})
    
    apex.region('MY_STATIC_ID1').refresh();
    apex.region('MY_STATIC_ID2').refresh();
    apex.region('MY_STATIC_ID3').refresh();