2013-01-17 24 views
2

我有一個簡單的JS計數器有兩個按鈕(+和 - ),用於計數人。工作正常,但它允許用戶在減少計數時進入負值。可能是一個簡單的解決方案,但不適合我。任何幫助,將不勝感激。謝謝。防止在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 --> 

回答

1

我只是修改了功能檢查,看看如果該值大於或等於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; 
     } 
}); 

}); 
+0

謝謝大家!現在很好用。 – macericpet

5

您可以使用Math.max()

$("#pax_count").val(function(i, val) { 
    return Math.max(0, val - 1); 
}); 
1

簡單檢查,如果val爲小1個

$('#decrease').click(function() { 
    $('#pax_count').val(function(i, val) { return val>=1?val*1-1:0 }); 
});