Jquery 输入值未正确更新
Jquery input value not update properly
我有这个html代码。我需要更新值="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。
但是我需要数学加法(lastvalue+3),例如 0、3、6、9 等,而不是 03、033、0333 等。
您正在将字符串添加到数字,请先使用 parseInt()
将字符串转换为数字。 $("#loadmoreref").val()
将生成一个字符串。
$("#loadmoreref").val(parseInt(limstart,10)+3);
因此,为了您在 JavaScript 中的理解,将字符串添加到数字始终是一个字符串。
"0" + 3 = "03"
"03" + 3 = "033"
"003" + 3 = "0333"
你应该将 #loadmoreref 的 val 转换为数字,然后使用它并进行乘法:
数量 + 3
$("#loadmoreref").val(Number(limstart) + 3);
注意:将数字添加到字符串会将其转换为字符串,然后将其与字符串连接
"hello" + 3 => "hello3"
"6" + 3 => "63"
另一种解决方案是:
$("#loadmoreref").val((limstart * 1) +3); //update value
这个怎么样?
$(function(){
$('#loadmorebutton').click(function(){
var limstart = parseInt($("#loadmoreref").val());
$("#loadmoreref").val(limstart+3); //update value
alert(limstart );
});
.val() 返回一个需要转换为整数的字符串
相关文章:
- 使用Javascript更新输入框中的文本
- 以字符串形式读取量角器测试中的更新输入
- 如何动态更新输入值属性
- 当html选择/选项发生更改时,需要更新输入字段
- 用于更新输入的 Javascript 被占位符覆盖
- 更新输入类型=文本值或文本框控件调整大小事件
- AngularJS绑定模型以选择更新输入数字字段,最小值为最大值
- 从数据库填充的下拉菜单中更新输入字段
- 如何在拖动行时更新输入值
- 为什么在更新输入类型文本的值时,敲除不更改值属性
- 使用javascript将span更改为input(viceversa),然后AJAX更新输入
- 按键更新输入落后1步
- NG模型仅在使用谷歌地图自动完成时单击后更新输入
- Javascript更新输入字段(将光标放在输入中)
- 更新输入类型时间的值(重新渲染)并使用 React 再次关注元素
- Twitter TypeAhead.js不更新输入
- 主干更新输入创建新行
- 使用 href Jquery 的值更新输入
- 获取 IFrame 源,然后更新输入文本框
- 自动建议反应.js组件不会在渲染时更新输入样式