2017-02-27 63 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>