2017-02-27 105 views
0

我需要增加價值,通過點擊加號或減號圖片。它在頁面上只有一個「item_quantity」塊時工作正常。但是,如果我想添加另一個「item_quantity」塊,它會不正確地工作。jQuery增加值只在點擊div

JS代碼,增加值:

$('.item_quantity .plus').click(function() { 
    var num = parseInt($('.item_quantity .quan_numb').text()); 
    $('.item_quantity .quan_numb').text(num + 1); 
}); 

http://codepen.io/Vlasov/pen/dvogmp?editors=1010

+0

您正在使用類選擇器來選擇值。嘗試使用更具體的選擇器,即使用ID選擇器。 –

回答

0

您正在使用類選擇選擇的數量。 你需要更具體的觸摸,並參考每個單獨的數量。

您可以通過執行尋找最近的.quan_numb

var quan_numb = $(this).closest(".item_quantity").find(".quan_numb");

其中找到與item_quantity類最接近的父母,然後查找孩子quan_num

codepen

0

它的工作不正確,因爲使用的是如果你想添加更多的使用類,而不是使用類

$('#item_quantity1 .plus').click(function() { 
var num = parseInt($('#item_quantity1 .quan_numb').text()); 
$('#item_quantity1 .quan_numb').text(num + 1); 
}); 

標識不同的ID的

0

這是因爲jQuery將返回一個數組,如果sele ctor屬於多個元素。使用以下代碼指定與該按鈕配對的元素。

var num = parseInt($(this).siblings('.quan_numb').text()); 

See on Codepen

1

$('.item_quantity .plus').click(function() { 
 
    var num = parseInt($(this).parent().find('.quan_numb').html()); 
 
    $(this).parent().find('.quan_numb').html(num + 1); 
 
}); 
 
$('.item_quantity .minus').click(function() { 
 
    var num = parseInt($(this).parent().find('.quan_numb').html()); 
 
    if (num > 1) { 
 
    $(this).parent().find('.quan_numb').html(num - 1); 
 
    } 
 
});
.minus img, .plus img{ 
 
    width: 20px; 
 
    cursor: pointer; 
 
} 
 

 
.quan_numb{ 
 
    font-size: 24px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="item_quantity fll"> 
 
    <span class="minus"> 
 
\t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/minus.png" alt=""> 
 
\t </span> 
 
    <span class="quan_numb">1</span> 
 
    <span class="plus"> 
 
\t \t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/plus.png" alt=""> 
 
\t </span> 
 
</div> 
 
<div class="item_quantity fll"> 
 
    <span class="minus"> 
 
\t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/minus.png" alt=""> 
 
\t </span> 
 
    <span class="quan_numb">1</span> 
 
    <span class="plus"> 
 
\t \t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/plus.png" alt=""> 
 
\t </span> 
 
</div>

1

試試這個:

$('.item_quantity .plus').click(function() { 
 
    var num = parseInt($(this).siblings('.item_quantity .quan_numb').text()); 
 
    $(this).siblings('.item_quantity .quan_numb').text(num + 1); 
 
}); 
 
$('.item_quantity .minus').click(function() { 
 
    var num = parseInt($(this).siblings('.item_quantity .quan_numb').text()); 
 
    if (num > 1) { 
 
    $(this).siblings('.item_quantity .quan_numb').text(num - 1); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="item_quantity fll"> 
 
    <span class="minus"> 
 
\t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/minus.png" alt=""> 
 
\t </span> 
 
    <span class="quan_numb">1</span> 
 
    <span class="plus"> 
 
\t \t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/plus.png" alt=""> 
 
\t </span> 
 
</div> 
 

 
<div class="item_quantity fll"> 
 
    <span class="minus"> 
 
\t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/minus.png" alt=""> 
 
\t </span> 
 
    <span class="quan_numb">1</span> 
 
    <span class="plus"> 
 
\t \t \t \t <img src="http://www.sammy-icon.com/catalog/view/theme/default/image/icon/plus.png" alt=""> 
 
\t </span> 
 
</div>