使用javascript定位oracle apex表格形式列

时间:2016-08-31 09:54:26

标签: javascript oracle oracle-apex tabular

我有一个表格形式,我需要根据某些条件取消和重新启用某些列。

我的动态动作中有以下javascript正在运行。我按名称引用列(f01_0001,f01_0002,f02_0001,f02_0002 ....)

$("[name='f01']").each(function(i){  

     // columns to be disabled    
     var coltext5 = $("[name='f05']").get(i).id;  
     var checkbox8 = $("[name='f08']").get(i).id.substring(0,8);  

     $("#"+coltext5).prop( "disabled", true ); 
     $("#"+checkbox8).prop( "disabled", true ); 

})

但问题是,如果我切换这些列的位置,或者向表格形式添加更多可编辑的列,则会更改这些列的名称。 例如,在上面的示例中,如果我在coltext5之前再添加一个文本框,那么coltext5的名称将变为f06 ....

有没有更好的方法来引用表格形式列?像ID或类一样,即使列的位置发生变化,这些东西是静态的,也不会被改变?

由于

1 个答案:

答案 0 :(得分:1)

我之前已经遇到过此问题,并且我已成功使用data属性来执行此操作 - 例如https://jeffkemponoracle.com/2016/04/05/declarative-tabular-form-dynamic-totals/

例如,您可以在"地址"上设置Element Attributes。列到data-col="address",并使用$("[data-col='address']")在javascript中引用它们。

当然,您必须将此添加到您需要引用的每个列。