我想在jquery中增加#hidtr
值。
<script type="text/javascript">
$('#hidtr').val(parseInt($('#hidtr').val()+1));
alert($('#hidtr').val());
</script>
答案 0 :(得分:10)
试试这个
var val = $('#hidtr').val();
$('#hidtr').val((val*1)+1);
答案 1 :(得分:2)
我会更喜欢以下方法,因为不需要使用$('#hidtr').val()
两次,您也可以根据需要处理该值。
$('#hidtr').val(function(i, oldVal) {
return parseInt(oldVal || 0, 10) + 1; // oldVal || 0 if initial is empty
});
alert($('#hidtr').val());
<强> DEMO 强>
如果您不想使用上述方法,请遵循:(@ charlietfl提及)
var hidtr = $('#hidtr'), // store the reference, not use multiple time
val = parseInt( hidtr.val(), 10 ) || 0, // peek the value
inc = val + 1; // increment value
hidtr.val(inc); // set value
parseInt(value, radix)
接受两个参数,第一个是值,第二个是基数(对于整数,它将为10,对于十六进制,它将为16,依此类推)。
.val()
jquery接受一个值作为参数来设置,也接受一个函数(带有两个参数index和old value)。
答案 2 :(得分:1)
尝试
$('#hidtr').val(parseInt($('#hidtr').val(),10)+1);
您的括号位于错误的位置,建议使用基数,see the docs for paraeInt here
答案 3 :(得分:1)
您需要将其包含在ready
回调中并对括号进行调整
$(function(){
$('#hidtr').val(parseInt($('#hidtr').val(),10) || 0 +1);
alert($('#hidtr').val());
});
请参阅:jQuery Docs : How jQuery Works,了解为何需要包装
如果在处理程序或函数中多次使用选择器,最好将其缓存
$(function(){
var $hidtr= $('#hidtr');
var val=$hidtr.val();
$hidtr.val(parseInt( val,10) || 0 +1);
alert( $hidtr.val());
});
答案 4 :(得分:0)
或其他工作演示 http://jsfiddle.net/AuJv2/5/ 或,如果是初始空输入:http://jsfiddle.net/AuJv2/8/
请注意parseInt($('#hidtr').val()+1)
应为parseInt($('#hidtr').val())+1
希望这有帮助,
<强>码强>
var num = parseInt($('#hidtr').val()) || 0;
$('#hidtr').val(parseInt(num)+1);
alert($('#hidtr').val());
或强>
$('#hidtr').val(parseInt($('#hidtr').val())+1);
alert($('#hidtr').val());