#hidtr
jqueryで値をインクリメントしたい。
<script type="text/javascript">
$('#hidtr').val(parseInt($('#hidtr').val()+1));
alert($('#hidtr').val());
</script>
#hidtr
jqueryで値をインクリメントしたい。
<script type="text/javascript">
$('#hidtr').val(parseInt($('#hidtr').val()+1));
alert($('#hidtr').val());
</script>
これを試して
var val = $('#hidtr').val();
$('#hidtr').val((val*1)+1);
$('#hidtr').val()
2回使用する必要がなく、必要に応じて値を処理できるため、以下のアプローチをお勧めします。
$('#hidtr').val(function(i, oldVal) {
return parseInt(oldVal || 0, 10) + 1; // oldVal || 0 if initial is empty
});
alert($('#hidtr').val());
上記のアプローチを使用したくない場合は、以下に従ってください:(@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)
2つのパラメーターを受け入れます。最初のパラメーターは値で、2番目のパラメーターは基数です(整数の場合は10、16進数の場合は16など)。
.val()
jqueryは、設定するパラメーターとして値を受け入れ、関数も受け入れます(2つの引数indexと古い値を使用)。
試す
$('#hidtr').val(parseInt($('#hidtr').val(),10)+1);
角かっこが間違った場所にありました。基数もお勧めします。paraeIntのドキュメントはこちらをご覧ください。
コールバックでラップし、ready
角かっこを調整する必要があります
$(function(){
$('#hidtr').val(parseInt($('#hidtr').val(),10) || 0 +1);
alert($('#hidtr').val());
});
参照: jQueryドキュメント:ラップする必要がある理由の説明については、jQueryのしくみ
ハンドラーまたは関数でセレクターを複数回使用する場合は、それをキャッシュすることをお勧めします
$(function(){
var $hidtr= $('#hidtr');
var val=$hidtr.val();
$hidtr.val(parseInt( val,10) || 0 +1);
alert( $hidtr.val());
});
または別の実用的なデモ 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());