javascript - 循环遍历 oracle apex 中的列

标签 javascript jquery loops iteration oracle-apex

在 oracle apex 中,表格形式的列可以通过其各自的流 ID 进行控制。流 ID 的示例为 --> f01 <--(第 1 列)或 --> f02 <--(第 2 列),基本上是 fXX,其中 XX 是列号。我正在尝试循环遍历给定各自列号的列。

我想做的是将 x(列号)的值连接到

document.wwv_flow.f+x.toString()+[i]

我感觉非常有信心这不是处理这种情况的正确方法,但我不知道什么是正确的方法。

注意:$v(APEX_ITEM) 返回顶点项的值。

完整代码:

     for (var i = 0; i < document.wwv_flow.f01.length; i++) //document.wwv_flow.f01.length returns the number rows
 {
     var isChecked=$(document.wwv_flow.f01[i]).is(":checked");

     if(isChecked){
         var copyrow;
         apex.widget.tabular.addRow();
         copyrow = apex.jQuery(apex.widget.tabular.gTabForm).find("tr").last().insertBefore(apex.jQuery(apex.widget.tabular.gTabForm).find("tr").first());
         i++;
         copyrow.hide();
         var colcount = $(document.wwv_flow.f01[i]).closest("tr").children("td").length; //colcount is the number of columns
         for(var x = 4; x < (colcount-4); x++){    //x is the column number    
             if(x < 10){ 
                 x = "0"+x;
             }
             console.log("Col #"+x+" Value: "+$v((document.wwv_flow.f+x.toString()+[i]))); //!!
         }
         copyrow.show( "slow" );

     }
 }

最佳答案

我找到了一个解决方案,该解决方案将循环遍历并打印已选中复选框的行的每个列值。可能还有更好的解决方案,但目前这是我想出的:

我非常确定 Oracle apex 只允许表格形式包含 50 列,并且此代码将循环遍历输入列的值。如果该列是只读的,那么您需要使用

$(obj[key][i]).text(); 而不是 $v(obj[key][i])

我设置了一个按钮来运行 JavaScript 动态操作并使用了以下代码

var tabForm = { //these are tabular form columns
    1:document.wwv_flow.f01 ,
    2:document.wwv_flow.f02 ,
    3:document.wwv_flow.f03 ,
    4:document.wwv_flow.f04 ,
    5:document.wwv_flow.f05 ,
    6:document.wwv_flow.f06 ,
    7:document.wwv_flow.f07 ,
    8:document.wwv_flow.f08 ,
    9:document.wwv_flow.f09 ,
    10:document.wwv_flow.f10 ,
    11:document.wwv_flow.f11 ,
    12:document.wwv_flow.f12 ,
    13:document.wwv_flow.f13 ,
    14:document.wwv_flow.f14 ,
    15:document.wwv_flow.f15 ,
    16:document.wwv_flow.f16 ,
    17:document.wwv_flow.f17 ,
    18:document.wwv_flow.f18 ,
    19:document.wwv_flow.f19 ,
    20:document.wwv_flow.f20 ,
    21:document.wwv_flow.f21 ,
    22:document.wwv_flow.f22 ,
    23:document.wwv_flow.f23 ,
    24:document.wwv_flow.f24 ,
    25:document.wwv_flow.f25 ,
    26:document.wwv_flow.f26 ,
    27:document.wwv_flow.f27 ,
    28:document.wwv_flow.f28 ,
    29:document.wwv_flow.f29 ,
    30:document.wwv_flow.f30 ,
    31:document.wwv_flow.f31 ,
    32:document.wwv_flow.f32
    //Up to 50 Columns
}

for (var i = 0; i < document.wwv_flow.f01.length; i++)
 {
     var isChecked=$(document.wwv_flow.f01[i]).is(":checked");      
     if(isChecked){
         var colcount = $(document.wwv_flow.f01[i]).closest("tr").children("td").length;
         var obj = tabForm;
         for(var x = 4; x < (colcount-3); x++){           
             Object.keys(obj).forEach(function(key) {
                 if(key != x) return;
                 console.log(key, $v(obj[key][i]));
             });
         }             
     }
 }

关于javascript - 循环遍历 oracle apex 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43765141/

相关文章:

javascript - 在 JQuery 中捕获表单输入

javascript - 根据当前宽度使用 jQuery 定义背景元素

python - 在Python中迭代嵌套列表

javascript - 创建对话框时未捕获 TypeError : $(. ..).dialog 不是函数错误

javascript - 无法在 Canvas 上添加新对象(fabric.js)

jquery - ParseInt 不适用于 Jquery ajax 响应

java - do while 循环错误

javascript - 对线程对话进行排序

javascript - 如何为移动用户切换图像?

haskell - 如何使用Iteratee读取文件的所有内容