2014-10-29 53 views
0

我看到我的jQuery代碼的問題,即沿:一口價沒有被添加到籃下,用不正確數量

  • 正確的項目數量沒有被添加到籃下
  • 價格不被識別

我認爲這兩個問題可能歸因於信息沒有從當前可見的div中選擇。但我不確定。任何人都可以提供幫助嗎?

jQuery的

$("#item1").hide(); 
var itemCount = 0; 
    var itemPrice = 0; 
    $(".basket").html("Basket: " + itemCount + " items (£" + itemPrice + ")"); 
    $(".atcb").click(function(){  
     var price = $(".sht").text(); 
     itemPrice = price.replace("£", ""); 
     itemCount += parseInt($(".qty").attr('value')); 
     itemPrice += itemPrice * itemCount; 
     $(".basket").html("Basket: " + itemCount + " items (£" + itemPrice + ")"); 
    }); 

的jsfiddle這裏:http://jsfiddle.net/y6jrmors/5/

+0

'ITEMCOUNT + = parseInt函數($()ATTR( '值') 「份數」。);'<--- jQuery有一個值的方法。 '$( 「數量」)。VAL()'。但是當有多個'qty'元素時會發生什麼? – 2014-10-29 20:08:58

+0

@SterlingArcher - 將有多個數量元素,但我希望它引用可見部分** st **中的數量元素。 – methuselah 2014-10-29 20:14:46

+0

嘗試在具有多個DOM引用的jQuery對象上運行'.val' – 2014-10-29 20:15:41

回答

1

還有一堆的小問題。例如,衝突的類名稱,也沒有在section等中找到。

以下是修復問題的代碼。

$(document).on('click', '.atcb', function() { 
    var itemCount = 0; 
    var total_price = 0; 
    var itemPrice = 0; 

    $parent = $(this).parents('.st'); 
    $parent.find(".basket").html("Basket: " + itemCount + " items (£" + itemPrice + ")"); 
    var price = $parent.find('h3.sht').text(); 

    itemPrice = parseInt(price.replace("£", "")); 
    itemCount = parseInt($parent.find(".qty").val()); 
    console.log(itemPrice, itemCount) 
    total_price = itemPrice * itemCount; 
    $parent.find(".basket").html("Basket: " + itemCount + " items (£" + total_price + ")"); 

}); 

請注意html代碼中的小修復。

這裏是一個working fiddle

相關問題