【发布时间】:2014-09-04 20:46:16
【问题描述】:
我已经创建了一个数组,其中包含从三个不同的用户变量获取信息的对象,但是在其中一个上有许多子变量,我不希望它在每次用户按下选择按钮时重复自身(更新表格)而不是我希望它只是添加到(或删除)它已经在表格中的部分。谢谢(如果您需要变量代码,请告诉我)请帮助!我真的需要一个解决方案!
//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;
}
【问题讨论】:
-
这是一个谷歌翻译的问题吗?我能理解每一个单词,但我不知道它们像这样放在一起意味着什么。
-
我不知道
getElementById('tableRow')是什么,但它听起来像一个表格行。用一堆其他表格行替换它的内部 HTML 是不明智的。您将使您的 HTML 无效。 -
您不应该对数组使用“for in”循环。这可能是其中的一部分。而是使用
for (var i = 0; i < gProducts.length; i++){} -
另外,将
tableRow2和tableRow2part2这样的id 添加到您在循环中创建的元素是不明智的。元素 ID 在整个页面中应该是唯一的。 -
很难理解你在问什么。您能否在jsfiddle.net 创建一个示例以更好地解释您想要实现的目标?
标签: javascript html arrays innerhtml for-in-loop