jQuery:更改的输入值不用于新添加

时间:2015-03-27 12:15:57

标签: javascript jquery input 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);
});

因此,第一次点击链接/按钮时,值从“0”变为“0.5”。 但是,当我第二次点击链接/按钮时,它不会改变,它只会保持“0.5”。

我认为jQuery没有通过第二次点击获得新的输入值,它可能认为值为“0”。

我该如何解决?

更新

这是小提琴:https://jsfiddle.net/m7pvjrve/1/

1 个答案:

答案 0 :(得分:6)

使用

var currentValue = parseFloat($('input.test').val());

而不是

var currentValue = parseInt($('input.test').val());

parseInt()每次都会将0.5转换为0,您获得的值为0.5,实际上是step

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