2

人の集計に使用される 2 つのボタン (+ と -) を備えた単純な JS カウンターがあります。正常に動作しますが、カウントを減らすときにユーザーが負になる可能性があります。おそらく簡単な解決策ですが、私にとってはそうではありません。どんな助けでも大歓迎です。ありがとう。

JS

    //Pax Counter

$(document).ready(function(){
    //Count Function
    $('#increase').click(function() {
    $('#pax_count').val(function(i, val) { return val*1+1 });
});
    $('#decrease').click(function() {
    $('#pax_count').val(function(i, val) { return val*1-1 });
}); 

  });

HTML

<input name="pax_count" type="text" class="pax_input_box" id="pax_count" value="0" >

<div id="pax_counter_container"><!-- open #pax_counter_container -->
<button id="increase" type="button" class="click_button" onTouchStart="EvalSound('audio3')"></button>
<button id="decrease" type="button" class="click_button" onTouchStart="EvalSound('audio3')"></button>
</div><!-- close #pax_counter_container -->
4

3 に答える 3

6

使用できますMath.max()

$("#pax_count").val(function(i, val) {
    return Math.max(0, val - 1);
});
于 2013-01-17T18:39:25.880 に答える
2

減算する前に、値が 0 以上かどうかを確認するように関数を変更しただけです。

$(document).ready(function(){
    //Count Function
    $('#increase').click(function() {
    $('#pax_count').val(function(i, val) { return val*1+1 });
});
    $('#decrease').click(function() {
    $('#pax_count').val(function(i, val) { 
         if(val*1>0){
             return val*1-1;
         }else{
             return val;
         }
}); 

});
于 2013-01-17T18:41:22.887 に答える
1

valが小さいかどうかを確認するだけです1

$('#decrease').click(function() {
    $('#pax_count').val(function(i, val) { return val>=1?val*1-1:0 });
});
于 2013-01-17T18:47:15.800 に答える