如何计算jquery,添加和减去数字

时间:2012-11-13 11:31:54

标签: javascript jquery numbers

我有这个小脚本。我需要在我的购物篮中添加和删除元素。所以我有一个简单的计数器,但它不能正常工作。当我解析实际数字并添加另一个时,每个人都很好,但是 - 我不能再添加另一个,当我对其进行分类时,它会给我一个零。你能帮助我吗?我的代码和一些小提琴http://jsfiddle.net/5vuJQ/

$(function(products_counter){
    var n = parseInt($('.lce_number').text());
    var n_place = $('.lce_number');
    $('.lce_add').live('click', function(){
        n_place.empty().append(n + 1);
    });
    $('.lce_remove').live('click', function(){
        n_place.empty().append(n - 1);
    });
});

6 个答案:

答案 0 :(得分:4)

您必须在每次点击时从.lce_number获取号码。请注意,live()方法已弃用,您应使用on()代替。

var n_place = $('.lce_number');
$('.line_count_elements').on('click', '.lce_add', function() {
    var n = parseInt(n_place.text(), 10);
    n_place.html(n + 1);
});
$('.line_count_elements').on('click', '.lce_remove', function() {
    var n = parseInt(n_place.text(), 10);
    n_place.html(Math.max(0, n - 1));
});​

DEMO: http://jsfiddle.net/5vuJQ/7/

答案 1 :(得分:1)

您可以尝试这样做:

http://jsfiddle.net/5vuJQ/8/

$(function(products_counter){
        var n = parseInt($('.lce_number').text());
        var n_place = $('.lce_number');
        $('.lce_add').on('click', function(){
            n_place.empty().append(++n);
        });
        $('.lce_remove').on('click', function(){
            if(n>0)
              n_place.empty().append(--n);
        });
    });​

答案 2 :(得分:1)

$(function(products_counter){
    var n = parseInt($('.lce_number').text());
    $('.lce_add').live('click', function(){
       $('.lce_number').text(parseInt($('.lce_number').text())+1);
    });
    $('.lce_remove').live('click', function(){
         $('.lce_number').text(parseInt($('.lce_number').text())-1);
    });
});

在这里演示:http://jsfiddle.net/Zzbet/

答案 3 :(得分:0)

$(function(products_counter){
    var n_place = $('.lce_number');
    $('.lce_add').live('click', function(){
        var n = parseInt($('.lce_number').text());
        n_place.empty().append(n + 1);
    });
    $('.lce_remove').live('click', function(){
        var n = parseInt($('.lce_number').text())
        n_place.empty().append(n - 1);
    });
});

答案 4 :(得分:0)

$(function(products_counter){      
    var n_place = $('.lce_number');
    $('.lce_add').live('click', function(){
        var n = parseInt($('.lce_number').text());
        n_place.empty().append(n + 1);
    });
    $('.lce_remove').live('click', function(){
        var n = parseInt($('.lce_number').text());
        n_place.empty().append(n - 1);
    });
});

每次点击后您需要获得n的值!

答案 5 :(得分:0)

$('.lce_add').live('click', function(){
        n_place.empty().append(n + 1);
    });

代码中的上一行修改' n '的值

首先 - n = 1
点击第一次 - 追加(n + 1) - > 1+ 1 --->结果显示为2 n 仍为1
点击第二次 - 追加(n + 1) - > 1+ 1 - >再次导致2
n 仍为1,因此会重复

您需要修改“ n 的值调用append()

 $('.lce_add').live('click', function(){
        n = n + 1;
        n_place.empty().append(n);
    });

http://jsfiddle.net/5tbqX/1/