如何识别Apex表格形式中的当前行?

时间:2010-07-19 15:02:06

标签: oracle10g oracle-apex

朋友,

我编写了以下JavaScript以确定用户当前所在的表格形式的哪一行。即他们已经点击了第4行的选择列表。我需要行号然后在同一行上获得一个字段的正确值,然后我可以执行一些进一步的处理。

这个JavaScript的作用是获取触发项的ID,例如: f02_0004这告诉我已经选择了第4行第2列中的选择列表。所以我的Javascript只获取行信息,即0004,然后使用它来引用此行中的另一个字段,此时只输出值以显示我有正确的值。

<script language="JavaScript" type="text/javascript">
   function cascade(pThis){      
      var row = getTheCurrentRow(pThis.id);
      var nameAndRow = "f03_" + row;
      var costCentre = $x(nameAndRow).value;
      alert("the cost centre id is " + costCentre);

}
   // the triggerItem has the name fxx_yyyy where xx is the column number and 
   // yyyy is the row. This function just returns yyyyy    
   function getTheCurrentRow(triggerItem){   
      var theRow = triggerItem.slice(4);
      return theRow;         
}

虽然这有效但我不禁感到我必须重新发明轮子 或者,有内置的我可以使用或如果没有可能有一个“更好”的方式?

如果需要,我正在使用Apex 4.0

提前感谢您提供的任何内容。

1 个答案:

答案 0 :(得分:2)

嗯,你所描述的正是我通常自己做的事情!

Apex 4.0中的一个替代方案是使用jQuery来导航DOM,如下所示:

var costCentre = $(pThis).parents('tr').find('input[name="f03"]')[0].value;

我已对此进行了测试,并且在我的测试表单中正常运行。