【问题标题】:Loop through columns in oracle apex循环遍历 oracle apex 中的列
【发布时间】:2017-10-01 14:03:47
【问题描述】:

在 oracle 中,表格形式的顶点列可以使用它们各自的流 ID 进行控制。流 ID 的示例是 --> f01 f02

我想要做的是将 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" );

     }
 }

【问题讨论】:

  • 目前认为这可能与stackoverflow.com/questions/8677034/…的情况有关
  • 这段代码连接整个数组的原因是什么?由于 apex 的标记,还有更好的方法可以通过 JS 可靠地访问选项卡表单中的列。
  • 其实我在离开之前直接找到了解决方案。明天早上将发布解决方案。 〜从手机发送
  • 你能详细说明这段代码的用途吗?你最终想要达到什么目标?
  • 当然!它会遍历并获取每一行的值,你可以用它做任何你想做的事情。在我的示例中,我将其简单地打印到控制台。

标签: javascript jquery loops iteration oracle-apex


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-06
    • 2018-04-25
    • 1970-01-01
    • 2020-04-13
    • 2021-01-29
    • 2010-12-09
    • 2011-08-18
    相关资源
    最近更新 更多