2010-05-25 46 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