我有一个隐藏的输入字段,其值为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”。
我该如何解决?
更新
答案 0 :(得分:6)
使用
var currentValue = parseFloat($('input.test').val());
而不是
var currentValue = parseInt($('input.test').val());
parseInt()每次都会将0.5
转换为0
,您获得的值为0.5
,实际上是step
值