0

ユーザーが自分の Web サイトで上または下のボタンをクリックしたときに、カウンターを更新しようとしています。現時点では、次のコードがあります。

$(function() {
    $('.up').on('click', function() {
        updateQuantity(1);
    });

    $('.down').on('click', function() {
        updateQuantity(-1);
    });

    function updateQuantity(value) {
        // Get the current quantity
        var count = $('.value').html();

        // Change it according to value passed
        count += value;

        // Write back to HTML
        $('.value').html(count);
    }
});

それはちょっと動作しますが、上下のボタンをクリックするcountと、文字列として扱われるようで、次のような出力になります: 0111or 0-1-1. 文字列を連結するのではなく、JavaScript に新しいカウントを計算させるにはどうすればよいですか?

ありがとう。

4

5 に答える 5

3

整数に変換します。

count += value;

を使用して文字列を整数に変換します。これは、整数値ではなくhtmlを返すparseInt()ためです。var count = $('.value').html();

コードは次のようになります。

var count = parseInt($('.value').html());
count += value; // or count = count + value;

More About parseInt()

于 2013-03-22T04:05:18.493 に答える
0

countは文字列です。それを整数に解析する必要があります。

var count = parseInt($('.value').text(), 10);
于 2013-03-22T04:04:36.007 に答える
0

JavaSCript には、文字列を数値に変換する Number 関数があります

var count = Number($('.value').html());

count += Number(value);

Number()関数については、こちらを参照してください

于 2013-03-22T04:04:54.883 に答える
0

LIVE DEMO

$(function() { 
    $('.up, .down').on('click', function() {
      var v = parseInt( $('.value').val(), 10 );
      $('.value').val( $(this).hasClass('up') ? v += 1 : v -= 1 );
    });
});
于 2013-03-22T04:19:35.837 に答える
0

次に、整数に変換する必要があります。

 var count = parseInt($('.value').html());
于 2013-03-22T04:04:31.577 に答える