2013-01-14 17 views
0

我需要创建一个JavaScript循环,将添加表列的每一行(rowCount)的值并输出总数(QT_BOX * rowCount = prodQty)。该rowCountupdates罚款,但prodQty始终返回50的值,我想我必须忽视的东西,但似乎无法TOT找到它...简单的JavaScript循环来总结网格列

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; 
    }  
} 

回答

0

在你的循环您更新“QT_READ”与当前行的prodQty(或QT_BOX)..但它永远不会添加到以前的金额,所以你将永远有你的最后一行的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; 
    }  
} 
+0

啊。这就说得通了。我不知道我将如何添加这些。正如你可能知道的,我对JavaScript很陌生。我假设我会改变这一行---- var prodQty = gridObject.getCellValueByName(i,“QT_BOX”); ----我只是不确定总积累值存储在哪里以及如何重新调整/显示它。 – user1864446

+0

你可能想改变这一行来做到这一点: var prodQty = gridObject.getCellValueByName(i,“QT_BOX”); var total = document.getElementById(“QT_READ”)。value; document.getElementById(“QT_READ”)。value = total + prodQty; – xblitz

0

我不知道什么是 “BoxesGrid” 是。但通过你的代码,我发现你在循环的每个重复中都设置了“QT_BOXES”,其值为“rowCount”。所以我猜BoxesGrid是一个有50行的网格,这就是为什么总是可以得到总数为50.

你应该总结“for”子句中的每个值,然后在“for”子句之外设置“QT_BOXES”。

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; 
} 
+0

谢谢你的帮助。在你的例子中,tot返回一个包含循环中所有字段值的字符串。我需要做的是添加所有的值,而不是显示它们。 – user1864446