循环遍历oracle apex中的列

时间:2017-05-03 16:09:38

标签: 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" );

     }
 }

1 个答案:

答案 0 :(得分:0)

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

我很确定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]));
             });
         }             
     }
 }