【问题标题】:Total sum of live changinput values实时变化输入值的总和
【发布时间】:2013-11-09 09:19:49
【问题描述】:
首先我要为我的英语道歉。我不是母语人士。
我是初学者,不太了解 JS 或 jQuery 扩展。
需要将 3 个具有唯一 ID 的输入实时变化值相加。
我希望总和这些值也能活。
所以我必须写一些类似的东西
total = $('#sumOne').value+$('#sumTwo').value+$(#sumThree).value
正如我所说,我真的不懂JS,我知道上面那行是绝对不正确的。
谁能帮我写一些脚本的例子?
非常感谢您的宝贵时间和建议。
【问题讨论】:
标签:
javascript
jquery
input
live
onkeyup
【解决方案1】:
parseInt($('#sumOne').val())+parseInt($('#sumTwo').val())+parseInt($(#sumThree).val());
你想要:
this.value = ''; // straight JS, no jQuery
或
$(this).val(''); // jQuery
使用$(this).value = '',您将分配一个空字符串作为包装 this 的 jQuery 对象的 value 属性——而不是 this 本身的值。
参考val()
【解决方案2】:
使用.val()函数提取jquery对象的value属性。并在添加之前对值执行parseInt。否则,这些值将被连接而不是相加。
var total = parseInt($('#sumOne').val())+parseInt($('#sumTwo').val())+parseInt($(`#sumThree`).val());
【解决方案3】:
你需要使用.val()
parseFloat($('#sumOne').val()) + parseFloat($('#sumTwo').val()) + parseFloat($(#sumThree).val())
还将值转换为浮点数,使用parseFloat
【解决方案4】:
作为参考 Rituraj 的回答,
最好在添加之前将 val() 转换为 int 或 float:
var total=parseFloat($('#sumOne').val())+parseFloat($('#sumTwo').val())+parseFloat($('#sumThree').val());