我有这个HTML代码。我需要更新value =" 0 "
<input id="loadmoreref" class="displynone" value="0" />
html按钮是
<button id="loadmorebutton">Load more</button>
我正在使用这个jquery代码
$(function(){
$('#loadmorebutton').click(function(){
var limstart = $("#loadmoreref").val();
$("#loadmoreref").val(limstart+3); //update value
alert(limstart );
});
当我第一次点击按钮时。提醒说 0 。当我再次点击它时, 03 同样 033 , 0333 等。
表示它在最后一个值之后加3。
但我需要数学加法(最后值+3),如 0 , 3 , 6 , 9 等等 03 , 033 , 0333 等。
答案 0 :(得分:1)
您正在为数字添加字符串,首先使用parseInt()
将字符串转换为数字。 $("#loadmoreref").val()
将生成一个字符串。
$("#loadmoreref").val(parseInt(limstart,10)+3);
因此,为了您在JavaScript中的理解,将字符串添加到数字始终是一个字符串。
"0" + 3 = "03"
"03" + 3 = "033"
"003" + 3 = "0333"
答案 1 :(得分:1)
你应该将#loadmoreref的val转换为数字,然后使用它并进行乘法运算:
号码(limstart)+ 3
$("#loadmoreref").val(Number(limstart) + 3);
注意:在string中添加数字会将其强制转换为字符串,然后将其与字符串
连接起来 "hello" + 3 => "hello3"
"6" + 3 => "63"
答案 2 :(得分:0)
另一种解决方案是:
$("#loadmoreref").val((limstart * 1) +3); //update value
答案 3 :(得分:0)
这个怎么样?
$(function(){
$('#loadmorebutton').click(function(){
var limstart = parseInt($("#loadmoreref").val());
$("#loadmoreref").val(limstart+3); //update value
alert(limstart );
});
.val()返回需要转换为Integer的字符串