jQuery: 改变的输入值不用于新增
jQuery: changed input value is not used for new addition
我有一个隐藏的输入字段,其值为 0:
<input type="hidden" class="test" value="0" />
现在我添加了一个带有一些 JS 的按钮,每次单击该按钮时值都会增加 0.5:
<a class="addition-input">Click me</a>
这是JS部分:
$('a.addition-input').click(function(event) {
event.preventDefault();
var currentValue = parseInt($('input.test').val());
var step = 0.5;
var newValue = currentValue + step;
$('input.test').val(newValue);
});
因此,我第一次单击 link/button 时,值从“0”变为“0.5”。
但是,当我第二次点击 link/button 时,它不会改变,它只是保持“0.5”。
我认为jQuery在第二次点击时没有得到新的输入值,它可能认为该值为“0”。
我该如何解决?
更新:
这是 fiddle:https://jsfiddle.net/m7pvjrve/1/
使用
var currentValue = parseFloat($('input.test').val());
而不是
var currentValue = parseInt($('input.test').val());
parseInt() 每次都会将 0.5
转换为 0
,您得到的值是 0.5
,这实际上是 step
值
我有一个隐藏的输入字段,其值为 0:
<input type="hidden" class="test" value="0" />
现在我添加了一个带有一些 JS 的按钮,每次单击该按钮时值都会增加 0.5:
<a class="addition-input">Click me</a>
这是JS部分:
$('a.addition-input').click(function(event) {
event.preventDefault();
var currentValue = parseInt($('input.test').val());
var step = 0.5;
var newValue = currentValue + step;
$('input.test').val(newValue);
});
因此,我第一次单击 link/button 时,值从“0”变为“0.5”。 但是,当我第二次点击 link/button 时,它不会改变,它只是保持“0.5”。
我认为jQuery在第二次点击时没有得到新的输入值,它可能认为该值为“0”。
我该如何解决?
更新:
这是 fiddle:https://jsfiddle.net/m7pvjrve/1/
使用
var currentValue = parseFloat($('input.test').val());
而不是
var currentValue = parseInt($('input.test').val());
parseInt() 每次都会将 0.5
转换为 0
,您得到的值是 0.5
,这实际上是 step
值