入力フィールドの値をインクリメントするためのjQuery(または純粋なJavaScript)の最短の方法は何ですか?
例えば
<input id="counter" type="hidden" name="counter" value="1">
に変わります
<input id="counter" type="hidden" name="counter" value="2">
入力フィールドの値をインクリメントするためのjQuery(または純粋なJavaScript)の最短の方法は何ですか?
例えば
<input id="counter" type="hidden" name="counter" value="1">
に変わります
<input id="counter" type="hidden" name="counter" value="2">
$('#counter').val( function(i, oldval) {
return parseInt( oldval, 10) + 1;
});
また
$('#counter').val( function(i, oldval) {
return ++oldval;
});
上記のコードのいずれかを関数内でラップし、それを呼び出してさらにインクリメントすることができます。例えば:
function increment() {
$('#counter').val( function(i, oldval) {
return ++oldval;
});
}
increment()
必要なときに必要な場所に電話してください。
最短の方法は次のとおりです。
$('#counter').get(0).value++
また
$('#counter').get(0).value--
ここではjQueryは必要ありません。代わりに、純粋なJavaScriptを使用してください。
document.getElementById('counter').value++;
デモ: http: //jsfiddle.net/RDMPq/
増分を動的IDを受け入れる関数に移動して、移植性を高めることができます。
function incrementInput(id){
document.getElementById(id).value++;
}
デモ: http: //jsfiddle.net/uyuGY/
あなたはこれを試すことができます:
jQuery:
これを行うための関数を設定します。
function incrementVal(selector) {
var $item = selector;
var $curVal = $item.attr("value");
$item.attr("value", parseInt($curVal) + 1 );
}
ボタンをクリックするだけで使用できます。
$("#increment").on("click",function() {
incrementVal($('#counter'));
});
あなたのHTML:
<input id="counter" type="hidden" name="counter" value="1">
<button id="increment">Increment field</button>
お役に立てば幸いです。