我正在尝试用 Javascript 编写贷款计算器。
你可以看看这里: http ://codepen.io/saltcod/pen/vHrfc
一切运行良好,除非我单击尝试并将计算器的第二个实例添加到页面(通过 + 按钮)。当我这样做时,两个计算器不能独立工作。
如何使页面上的所有计算器独立运行?
感谢任何能够指出我正确方向的人。
特里
我正在尝试用 Javascript 编写贷款计算器。
你可以看看这里: http ://codepen.io/saltcod/pen/vHrfc
一切运行良好,除非我单击尝试并将计算器的第二个实例添加到页面(通过 + 按钮)。当我这样做时,两个计算器不能独立工作。
如何使页面上的所有计算器独立运行?
感谢任何能够指出我正确方向的人。
特里
首先,不要使用id
属性,除非它们每次都用于标识相同的元素。由于您克隆了相同的元素,并且由于 keyup 可以发生在这些元素中的任何一个上,因此您可以class
改用它。
另一件事是,您只为原始计算器中的元素附加了一个 keyup 处理程序。一旦你克隆它,那么新的计算器就没有附加处理程序。相反,您可以使用委托
$(document).on("keyup", selectors, handler)
在处理程序函数中,您可以添加
group = $(this).parents(".loan.group")
并且所有选择器都应该有group
一个范围,例如:
... years = +$('.years',group).val(),
代替... years = +$('.years').val(),