2012-08-24 76 views
0

我有一些JavaScript可以抽取我的購物車中有多少物品,並將其放置在span.cartTotal中以獲得更好的樣式。我需要代碼才能正常工作,因此它可以立即獲取信息,而且我無需刷新頁面即可查看更新。我假設代碼需要添加jQuery .live或.on。任何幫助深表感謝。謝謝將.live或.on添加到jquery函數

$(function(){   
    if ($('#catCartSummary .cartSummaryItem').html() != 'Shopping cart is empty.') { 
     var summary = $('#catCartSummary .cartSummaryItem').text().split(" "); 
     var total = summary[0]; 
     $('span.cartTotal').html(total); 
    }else{ 
     $('span.cartTotal').html("0"); 
    } 
}); 

更多信息:我添加到購物車類.productSubmitInput

我拉從這個代碼是動態創建的,低於這個信息。該購物車在cartSummaryItem中自動更新。當有人加入購物車時,我只需要我的新款式總數來更新它。我嘗試了下面的建議,但他們似乎沒有工作。我可能只是添加了一些錯誤。

<td class="cartSummaryItem"> 
1 item(s), Total: $10.95 
</td> 
+1

把你的代碼中任何事件修改了購物車中的物品數量,而不是隻在DOM準備好時才執行一次的doc.ready。 – j08691

+0

您可以將其包裝在一個命名函數中,並在任何「添加到購物車」按鈕的單擊事件中調用它,因爲它只會由用戶交互觸發。 – Laurence

+0

什麼不適用於您的代碼?或者是'.cartSummaryItems'的html以某種方式動態更新? – Bergi

回答

1

什麼評論說,基本上

也 - 使用。對不.live,如.live已被棄用

事情是這樣的:

function updateTotals() { 
if ($('#catCartSummary .cartSummaryItem').html() != 'Shopping cart is empty.') { 
     var summary = $('#catCartSummary .cartSummaryItem').text().split(" "); 
     var total = summary[0]; 
     $('span.cartTotal').html(total); 
    }else{ 
     $('span.cartTotal').html("0"); 
    } 
} 

$(function(){ 
    updateTotals(); // <-- initial load update 

    $('some_selector').on('click',function(){ 

    // do stuff like adding items to cart or w/e... 

    updateTotals(); 

    }); 
}); 
+0

嗨埃文,我更新了上面的信息。我會對你的腳本做什麼改變?謝謝 – WildWing

+0

只需使用您的.productSubmitInput作爲選擇器 – Eva

+0

嗨埃文,我得到第一行語法錯誤。函數()updateTotals(){ – WildWing