Plus/Minus Valeur Maximale D'Entrée

J'ai un plus/moins de bouton et de le voudrait, de sorte que les utilisateurs ne peuvent pas sélectionner plus de 20, mais ne sais pas comment le faire fonctionner. J'ai essayé d'utiliser le min="1" max="5 attributs, mais ils n'ont pas de travail. Voici mon code et un lien vers un violon. https://jsfiddle.net/6n9298gp/

<form id='myform' method='POST' action='#' class="numbo">
<input type='button' value='-' class='qtyminus' field='quantity' style="font-weight: bold;" />
<input type='text' name='quantity' value='1' class='qty' style="margin-bottom: 0px !important" onkeypress='return event.charCode >= 48 && event.charCode <= 57'/>
<input type='button' value='+' class='qtyplus' field='quantity' style="font-weight: bold;" />
</form>
<script type="text/javascript">
jQuery(document).ready(function(){
//This button will increment the value
$('.qtyplus').click(function(e){
//Stop acting like a button
e.preventDefault();
//Get the field name
fieldName = $(this).attr('field');
//Get its current value
var currentVal = parseInt($('input[name='+fieldName+']').val());
//If is not undefined
if (!isNaN(currentVal)) {
//Increment
$('input[name='+fieldName+']').val(currentVal + 1);
$('.qtyminus').val("-").removeAttr('style')
} else {
//Otherwise put a 0 there
$('input[name='+fieldName+']').val(1);
}
});
//This button will decrement the value till 0
$(".qtyminus").click(function(e) {
//Stop acting like a button
e.preventDefault();
//Get the field name
fieldName = $(this).attr('field');
//Get its current value
var currentVal = parseInt($('input[name='+fieldName+']').val());
//If it isn't undefined or its greater than 0
if (!isNaN(currentVal) && currentVal > 1) {
//Decrement one
$('input[name='+fieldName+']').val(currentVal - 1);
} else {
//Otherwise put a 0 there
$('input[name='+fieldName+']').val(1);
$('.qtyminus').val("-").css('color','#aaa');
$('.qtyminus').val("-").css('cursor','not-allowed');
}
});
});
</script>
  • Avez-vous essayé d'ajouter else if(currentVal == 20) { $('input[name='+filedName+']').val(currentVal); après la première if et entre les else? La première if aurez besoin d'un && currentVal != 20 ajouté.
  • Ne pouvez-vous pas juste vérifier si currentVal est de 20, puis de retour à partir de la + bouton de l'événement?
InformationsquelleAutor sizemattic | 2016-06-06