使用 javascript 定位 oracle apex 表格列
targeting oracle apex tabular form columns using javascript
我有一个表格形式,我需要根据某些条件取消并重新启用一些列。
我的动态操作中有以下 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前面多加一个textbox,那么coltext5的名字就会变成f06....
有没有更好的方法来引用表格表格的列?像 ID 或 class,是静态的,即使列的位置改变也不会改变?
谢谢
我以前遇到过这个问题,我已经成功地使用 data
属性来解决这个问题 - 例如https://jeffkemponoracle.com/2016/04/05/declarative-tabular-form-dynamic-totals/
例如,您可以将 "Address" 列上的 Element Attributes
设置为 data-col="address"
,然后使用 $("[data-col='address']")
在 javascript 中引用它们。
当然,你必须把这个添加到你需要引用的每一列中。
我有一个表格形式,我需要根据某些条件取消并重新启用一些列。
我的动态操作中有以下 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前面多加一个textbox,那么coltext5的名字就会变成f06....
有没有更好的方法来引用表格表格的列?像 ID 或 class,是静态的,即使列的位置改变也不会改变?
谢谢
我以前遇到过这个问题,我已经成功地使用 data
属性来解决这个问题 - 例如https://jeffkemponoracle.com/2016/04/05/declarative-tabular-form-dynamic-totals/
例如,您可以将 "Address" 列上的 Element Attributes
设置为 data-col="address"
,然后使用 $("[data-col='address']")
在 javascript 中引用它们。
当然,你必须把这个添加到你需要引用的每一列中。