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

演示:http://jsfiddle.net/GCu2D/657/