使用javascript瞄准oracle apex表格表单列

targeting oracle apex tabular form columns using javascript

本文关键字:表格 表单 apex oracle javascript 瞄准 使用      更新时间:2023-09-26

我有一个表格表单,我需要根据一些条件禁用和重新启用一些列。

我有下面的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或class,这些是静态的,即使列的位置改变了也不会改变?

谢谢

我以前遇到过这个问题,我已经成功地使用data属性来做到这一点-例如https://jeffkemponoracle.com/2016/04/05/declarative-tabular-form-dynamic-totals/

例如,在"地址"一栏设置Element Attributesdata-col="address",在javascript中使用$("[data-col='address']")来引用它们。

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