当用户点击我网站上的向上或向下按钮时,我正在尝试更新计数器。目前我有这段代码:
$(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
视为一个字符串,我最终得到如下输出:0111
或0-1-1
。如何强制JavaScript计算新计数而不是连接字符串?
感谢。
答案 0 :(得分:3)
转换为Interger。
count += value;
parseInt()
和将字符串转换为整数,因为var count = $('.value').html();
这将返回html而不是整数值。
所以代码看起来像。
var count = parseInt($('.value').html());
count += value; // or count = count + value;
More About parseInt()
答案 1 :(得分:0)
您需要将其转换为整数。
var count = parseInt($('.value').html());
答案 2 :(得分:0)
count
是一个字符串。你应该把它解析成一个整数:
var count = parseInt($('.value').text(), 10);
答案 3 :(得分:0)
JavaSCript具有Number函数,可将字符串更改为数字
var count = Number($('.value').html());
count += Number(value);
在此处查看Number()功能
答案 4 :(得分:0)
的 LIVE DEMO 强>
$(function() {
$('.up, .down').on('click', function() {
var v = parseInt( $('.value').val(), 10 );
$('.value').val( $(this).hasClass('up') ? v += 1 : v -= 1 );
});
});