Mat*_*ash 0 javascript jquery input addition
我有一个隐藏的输入字段,其值为0:
<input type="hidden" class="test" value="0" />
Run Code Online (Sandbox Code Playgroud)
现在我添加了一个带有一些JS的按钮,每次单击按钮时都会将值加0.5:
<a class="addition-input">Click me</a>
Run Code Online (Sandbox Code Playgroud)
这是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);
});
Run Code Online (Sandbox Code Playgroud)
因此,第一次单击链接/按钮时,值从"0"变为"0.5".但是,当我第二次点击链接/按钮时,它不会改变,它只会保持"0.5".
我认为jQuery没有通过第二次点击获得新的输入值,它可能认为值为"0".
我该如何解决这个问题?
更新:
使用
var currentValue = parseFloat($('input.test').val());
Run Code Online (Sandbox Code Playgroud)
代替
var currentValue = parseInt($('input.test').val());
Run Code Online (Sandbox Code Playgroud)
parseInt()转换0.5为0每次,你得到0.5的step值实际上是值
演示:http://jsfiddle.net/GCu2D/657/