2010-05-25 70 views
0

我试图通过单击按钮删除一个动态表单域。它也会从我的计算总量中减去它所有的值。这是代码:在jQuery中删除动态表单域的问题

function removeFormField(id) { 
    var id = $(id).attr("name"); 
    $('#target1').text($("#total" + id).map(function() { 
     var currentValue = parseFloat(document.getElementById("currentTotal").value); 
     var newValue = parseFloat($("#total" + id).text()); 
     var newTotal = currentValue - newValue; 
     document.getElementById("currentTotal").value = newTotal; 
     return newTotal; 
     }).get().join()); 
    $(id).remove(); 
} 

好了,它会做的代码减部分没有问题,这个问题是与最后一行删除该字段。如果我注释掉其余的代码,它将起作用,但不会与其他代码一起使用。我知道这是简单的,但我似乎无法绕过它。有人可以帮忙吗?

回答

2

你设定的ID与等于表单元素的名称:

var id = $(id).attr("name");

然后试图用得到它:在结束$(id)。尝试更改最后一行以实际使用您尝试删除的元素的ID - 请记住它之前的“#”。没有看到什么传递到removeFormField()作为id参数我不能确定你需要改变。

要记住的重要一点是表格name属性与元素ID不同。

+0

我知道这会是这样简单的事情。感谢您的帮助,它的工作。 – rshivers 2010-05-25 19:44:25

+0

这是一个常见的错误,如果你正在处理jQuery,记住它在选择器引擎中使用CSS3表达式。 – 2010-05-25 19:56:20