-2

我正在构建某种类型的计算器,它可以计算利率和贷款金额。我希望能够根据利率百分比比较不同的贷款统计数据。因此,如果我输入 50000 作为贷款金额并希望查看一些基于 4% 利率和 6% 利率的统计数据,我将获得一个包含这些计算的动态添加表。

因此,用户可以输入任意数量的利率进行比较,并查看贷款金额的不同统计数据(例如,还清需要多长时间)。

问题:由于用户可以输入任意数量的百分比(动态插入),因此我必须遍历每个百分比来计算内容。我把它记下来了,但是如果页面没有重新加载并且用户单击链接添加另一个输入框以比较另一个百分比然后单击按钮再次计算,则新的百分比将添加到表中加上所有之前的百分比率再次添加。

我知道为什么会发生这种情况(我猜这是 .each() 预期的),但是我如何对其进行编码,以便表格只会添加新单元格而不是新单元格+所有旧单元格。

抱歉,解释太长了。单击下面的链接以查看一个有效的示例。请记住,添加一些百分比利率和贷款金额并单击计算,但不要刷新并添加更多百分比利率并再次单击计算。不要担心数学或我如何得到数字。现在没关系;我只是想让初步的东西发挥作用。谢谢。!

http://machinesandwich.com/calc.html

4

3 回答 3

1

我建议每次都清除和重建表行。

从我看到的问题是你没有摆脱以前的细胞。

因此,您可以轻松地为每个输入添加一个新单元格,但请务必先删除先前添加的单元格。

于 2012-11-20T20:45:50.013 回答
-1

这就是你的 jQuery 代码应该是这样的:

var $table = $("div#standard table");
var col1 = $table.find('tr:first').find('th[scope="col"]');
$table.find('tr:first').html(col1+"<th>" + num + "% interest rate</th>");
var row1 = $table.find('tr#totalMonths').find('th[scope="row"]');
$table.find('tr#totalMonths').html(row1+"<td>" + totalMonths + "</td>");
var row2 = $table.find('tr#paymentPerMonth').find('th[scope="row"]');
$table.find('tr#paymentPerMonth').html(row2+"<td>" + paymentPerMonth + "</td>");

你总是可以更简化它,但这应该工作!

于 2012-11-20T20:54:05.770 回答
-1

不要附加,只需像这样更改 HTML:

    $("div#standard table tbody th[scope=col]").html("<th>" + num + "% interest rate</th>");
 $("div#standard table tbody tr#totalMonths").html("<td>" + totalMonths + "</td>");
 $("div#standard table tbody tr#paymentPerMonth").html("<td>" + paymentPerMonth + "</td>");
});
于 2012-11-20T20:46:27.667 回答