朋友,
我编写了以下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
提前感谢您提供的任何内容。
答案 0 :(得分:2)
嗯,你所描述的正是我通常自己做的事情!
Apex 4.0中的一个替代方案是使用jQuery来导航DOM,如下所示:
var costCentre = $(pThis).parents('tr').find('input[name="f03"]')[0].value;
我已对此进行了测试,并且在我的测试表单中正常运行。