如何阻止innerHtml在表中反复重复?

时间:2014-07-14 12:22:50

标签: javascript html arrays innerhtml for-in-loop

我创建了一个数组,其中的对象可以从三个不同的用户变量获取信息,但是其中一个有很多子变量,我不想让它在每次用户按下选择按钮时重复(更新表格)我希望它只是添加到(或带走)它已经在表格中的部分。谢谢(如果你需要变量代码让我知道)我一直试图解决这个问题!请帮助!!

//creating array
var gProducts = new Array();
var gTotalCost = 0;



// Adding Products to array gProducts
    function addProduct
{
var product = new Object();
product.name = name;
product.cost = cost;
gProducts.push(product);
gTotalCost += parseInt(cost)
}


 //Getting products from array, use of for in loop setting new table rows in blank var for each array item
function renderProducts()
{
var HTMLadd = ""

for (var i in gProducts)
{
if( gProducts[i].cost > 0){
    HTMLadd = HTMLadd + 
    "<tr>"+ 
    "<td class='tableSettings00' id=tableRow2 >" + gProducts[i].name +
    "</td>"+
    "<td class='tableSettings'>€<span id=tableRow2part2>" + gProducts[i].cost +
    "</span></td>"+ 
    "</tr>";
    }
    else 
    {
    }
}
document.getElementById('tableRow').innerHTML = HTMLadd;

}

1 个答案:

答案 0 :(得分:0)

当你可能想要一个for循环时,你正在使用for循环。

将此行更改为

for (var i in gProducts)

for (var i = 0; i < gProducts.length; i++)

使用for / in循环,变量i将是一个对象,而不是整数。