我正在尝试增加输入字段的值,使用jquery onClick
<input type="hidden" name="endFrom" value="17">
$('.ajaxRequest').click(function (e) {
e.preventDefault();
var endFrom = parseInt($('Form input[name="endFrom"]').val(), 10) + 8;
});
上述值没有增加endFrom。它只返回了数字17
我也试过以下但是刚刚返回178
var endFrom = $('Form input[name="endFrom"]').val()+ 8 ;
答案 0 :(得分:1)
您可以在 val(func)
中使用回调函数,在您的情况下,它不会更新它只是获取该输入标记的值
$('.ajaxRequest').click(function(e) {
e.preventDefault();
$('Form input[name="endFrom"]').val(function(i, v) {
return parseInt(v, 10) + 1;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>
<input type="hidden" name="endFrom" value="17">
<input type="hidden" name="startFrom" value="17">
<button class="ajaxRequest">Button</button>
</form>
答案 1 :(得分:0)
您需要将值分配回输入字段
$('.ajaxRequest').click(function(e) {
e.preventDefault();
var endFrom = parseInt($('Form input[name="startFrom"]').val(), 10) + 8;
//assign the value back to the input
$('Form input[name="endFrom"]').val(endFrom)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>
<input type="hidden" name="startFrom" value="7" />
<input type="hidden" name="endFrom" value="17" />
<button class="ajaxRequest">S</button>
</form>
答案 2 :(得分:0)
在您提供的HTML中,name属性为endForm
,但在您的选择器中为startForm
$('Form input[name="startFrom"]')
- 同样,请使用小写字母键入form
。
您只需将计算值保存在var中,但之后不会在输入中应用该var的值:
$('.ajaxRequest').click(function (event) {
event.preventDefault();
var endFrom = parseInt($('form input[name="startFrom"]').val(), 10) + 8;
$('form input[name="endFrom"]').val(endFrom);
});
答案 3 :(得分:0)
第1步 - 阅读startFrom值。
$('Form input[name="startFrom"]').val()
第2步 - 将其转换为INT。
parseInt($('Form input[name="startFrom"]').val())
步骤3 - 将8加到数字上。
parseInt($('Form input[name="startFrom"]').val()) + 8
步骤4 - 将endForm值设置为步骤3的结果。
$('Form input[name="endFrom"]').val(parseInt($('Form input[name="startFrom"]').val()) + 8)
答案 4 :(得分:0)
在您的实际代码中,如果您执行以下操作,则只需连接两个字符串:
var endFrom = $('Form input[name="endFrom"]').val()+ 8 ;
您应该将其解析为数字然后递增它:
var endFrom = parseInt($('Form input[name="endFrom"]').val(), 10)+ 8 ;
它会返回25
而不是178
。
$('.ajaxRequest').click(function(e) {
e.preventDefault();
var endFrom = parseInt($('input[name="endFrom"]').val(), 10) + 8;
alert(endFrom);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="Increment" class="ajaxRequest" />
<input type="hidden" name="endFrom" value="17">
&#13;
要使用每个增量更改输入值,只需更改此项:
var endFrom = parseInt($('input[name="endFrom"]').val(), 10) + 8;
以下内容:
$('input[name="endFrom"]').val(parseInt($('input[name="endFrom"]').val(), 10) + 8);