在表格形式的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" );
}
}
答案 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]));
});
}
}
}