对网格列求和的简单javascript循环
我需要创建一个javascript循环,该循环将从表列的每一行(rowCount)中添加值,并输出总数(QT_BOX*rowCount=prodQty)。rowcount更新良好,但prodQuantity始终返回值50。我想我一定是忽略了什么,但似乎找不到对网格列求和的简单javascript循环,javascript,loops,Javascript,Loops,我需要创建一个javascript循环,该循环将从表列的每一行(rowCount)中添加值,并输出总数(QT_BOX*rowCount=prodQty)。rowcount更新良好,但prodQuantity始终返回值50。我想我一定是忽略了什么,但似乎找不到 function updateCounters(){ var gridObject = document.BoxesGrid.getGridObject(); var rowCount = gridObject.getRow
function updateCounters(){
var gridObject = document.BoxesGrid.getGridObject();
var rowCount = gridObject.getRowCount();
for(var i=0; i <= rowCount; i++){
var prodQty = gridObject.getCellValueByName(i, "QT_BOX");
document.getElementById("QT_READ").value =prodQty;
document.getElementById("QT_BOXES").value = rowCount;
}
}
函数updateCounters(){
var gridObject=document.BoxesGrid.getGridObject();
var rowCount=gridObject.getRowCount();
对于(var i=0;i在for循环中,您使用当前行的prodQty(或QT_框)更新“QT_READ”…但它从未添加到上一个金额中,因此您将始终拥有最后一行的prodQty
下面是它可能的样子:
function updateCounters(){
var gridObject = document.BoxesGrid.getGridObject();
var rowCount = gridObject.getRowCount();
for(var i=0; i <= rowCount; i++){
var prodQty = gridObject.getCellValueByName(i, "QT_BOX");
var total = document.getElementById("QT_READ").value;
document.getElementById("QT_READ").value = prodQty + total;
document.getElementById("QT_BOXES").value = rowCount;
}
}
函数updateCounters(){
var gridObject=document.BoxesGrid.getGridObject();
var rowCount=gridObject.getRowCount();
对于(var i=0;i我不知道“BoxesGrid”是什么。但是通过您的代码,我看到您在循环中的每次重复中都将“QT_BOXES”设置为相同的值“rowCount”。所以我猜BoxesGrid是一个有50行的网格,这就是为什么您总是得到50行的原因
您应该对“for”子句中的每个值求和,然后在“for”子句外设置“QT_框”
函数updateCounters(){
var gridObject=document.BoxesGrid.getGridObject();
var rowCount=gridObject.getRowCount();
var-tot=0;
for(var i=0;i啊。这很有意义。不过我不确定如何添加这些内容。正如您可能知道的,我对javascript非常陌生。我假设我会更改这一行--var prodQty=gridObject.getCellValueByName(i,“QT\u框”);----我只是不太确定累计总值存储在哪里以及如何检索/显示它。您可能需要更改此行来执行此操作:var prodQty=gridObject.getCellValueByName(I,“QT_框”);var total=document.getElementById(“QT_读取”).value;document.getElementById(“QT_读取”).value=total+prodQty;感谢您的帮助。在您的示例中,tot返回一个包含循环中所有字段值的字符串。我需要做的是添加所有值,而不是显示它们。
function updateCounters(){
var gridObject = document.BoxesGrid.getGridObject();
var rowCount = gridObject.getRowCount();
var tot = 0;
for(var i=0; i <= rowCount; i++){
var prodQty = gridObject.getCellValueByName(i, "QT_BOX");
document.getElementById("QT_READ").value =prodQty;
tot += prodQty;
}
document.getElementById("QT_BOXES").value = tot;
}