0

私はこの小さなスクリプトを持っています。ショップ バスケットで要素を追加および削除する必要があります。だから私は単純なカウンターを持っていますが、それは正しく機能しません。実際の数を解析して別の数を追加すると、すべて問題ありませんが、別の数を追加することはできず、減算するとゼロになります。手伝って頂けますか?私のコードとフィドル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);
    });
});
4

6 に答える 6

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));
});​

デモ: http://jsfiddle.net/5vuJQ/7/

于 2012-11-13T11:34:20.517 に答える
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);
        });
    });​
于 2012-11-13T11:35:52.903 に答える
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/

于 2012-11-13T11:36:25.680 に答える
0
$('.lce_add').live('click', function(){
        n_place.empty().append(n + 1);
    });

コードの上記の行は、「 n」の値を変更していません

開始するには--n=1最初の
クリックで--append(n + 1)-> 1+ 1 --->2が表示されます
nはまだ1です
2番目のクリックで--append(n + 1)-> 1 +1->再び結果は
2nはまだ1であるため、これが繰り返されます

append()を呼び出す前に、' n 'の値を変更する必要があります

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

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

于 2012-11-13T11:39:14.853 に答える
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);
    });
});
于 2012-11-13T11:35:27.240 に答える
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クリックするたびに の値を取得する必要があります。

于 2012-11-13T11:36:12.980 に答える