2017-09-05 53 views
0

我想知道當表單的一部分被刪除時如何重新計算。截至目前,我的代碼使用JavaScript正確地總結了所有價格,但是當表單的一部分被刪除時,價格並未相應更新。如何使用JavaScript刪除部分表單後重新計算?

我想過使用一個數組,但無法理解如何告訴它在刪除特定表單部分時「刪除」某個值。我的代碼

部分可以在https://jsfiddle.net/drd1jnLf/

編輯檢查(2017年9月9日)

一種方式來做到這一點是添加的所有值在數組和的onclick,獲得類的指數和扣除來自array [index]的總數。能夠使它工作,但每當我更新價格,我刪除類沒有價格重新填充,然後它都停止工作在一起。我的主要問題在於代碼$(this).next().removeClass().end();可以蜜蜂如下圖所示:

$('.cross').click(function(){ 
    var index = $(".cross").index(this); 
    totalPrice = totalPrice - priceArray[index]; 
    priceArray.splice(index,1); 
    document.getElementById("totalPrice").innerHTML = "Total Price: OMR " + totalPrice; 
    $(this).next().removeClass().end(); 
}); 
+0

是你在這段代碼中執行的刪除操作....? –

+0

你不打電話providePrice重新計算價格,似乎。 – 4esn0k

+0

@MaulikBhatt在我使用圖像時,它顯示爲我的代碼中的空白圓圈。 –

回答

0

嘗試刪除您創建的insted的去除形式的ID,你點擊 其簡單的有一個數組其中添加和將發佈,所以嘗試刪除帶有ID的條目,就像你用ID創建的,所以它會刪除所有與它相關的條目。

+0

刪除附加表單時,我刪除了所有內容,甚至是附加標識。此外,我的刪除必須是完整的附加表格,而不是其中的一部分。 –

+0

看着你的功能我可以說你是刪除身份證,但沒有刪除你添加的金額 –

+0

我知道這一點。我正在尋找一種方式來發生,因此我的問題在堆棧溢出。 –

0

我已經更新了我的代碼,並能夠根據我的上述推測使我的代碼工作。

//after deletion, update total price and remove deleted form details 
    $('.cross').click(function() { 
    var index = $(".cross").index(this); 
    totalPrice = totalPrice - priceArray[index]; 
    priceArray.splice(index, 1); 
    document.getElementById("totalPrice").innerHTML = "Total Price: OMR " + totalPrice; 
    $(this).next().removeClass().addClass('changed').slideUp(500, function() { 
     $(this).html('').end(); 
     providePrice(); 
    }); 
    }); 

我不得不創建另一個函數刪除所有可用的數據不會造成重複和錯誤,這些錯誤在這裏可以看到$(this).next().removeClass().addClass('changed').slideUp(500, function() {$(this).html('').end(); providePrice();});

原因,爲什麼我想起providePrice()功能的情況下,以更新它的價格沒有。

JSFiddle Answer

相關問題