2016-06-30 23 views
0

Ich versuche zu verhindern, dass Benutzer 0 in das Eingabefeld eingeben.verhindern, dass Benutzer 0 als Eingabe eingibt

HTML-Code:

<input class="billMenuQuantity" type="number" name="quantity"> 

JQuery-Code:

$('.billMenuQuantity').on('keyup keydown', function (e) { 
     if ($(this).val() < 1 && e.keyCode != 46 && e.keyCode != 8) { 
      e.preventDefault(); 
      $(this).val(1); 
     } 
    }); 

Es hindert den Benutzer von der 0 Eingabe aber es verhindert auch den Benutzer von der andere einstellige Zahl eingeben (zB 2- 9) anders als 1. Es akzeptiert die zweistellige Zahl (dh 11, 12 usw.).

Kann mir jemand dabei helfen?

Antwort

2

Gerade Test code === 96 und die Länge des input-value

$('.billMenuQuantity').on('keyup keydown', function(e) { 
 
    var code = e.keyCode || e.which; 
 
    if (this.value.length === 0 && code === 96) { 
 
    e.preventDefault(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<input class="billMenuQuantity" type="number" name="quantity">

+3

Dies würde das Eingeben von Zahlen verhindern wie 20 oder 100. –

+0

Es funktionierte aber als @JeremyHarris erwähnt es Zahlen wie 20 oder 100 zu verhindern Ich möchte nur den Benutzer verhindern das Eindringen von 0 –

+0

@JeremyHarris, ich wollte mache eine Bearbeitung und OP sagt, das ist, was er wollte .. Quiet verwirrenden Zustand .. – Rayon

0

Versuchen Sie dieses

$(this).val() == 0 statt $(this).val() < 1

$('.billMenuQuantity').on('keyup keydown', function (e) { 
    if ($(this).val() == 0 && e.keyCode != 46 && e.keyCode != 8) { 
     e.preventDefault(); 
     $(this).val(1); 
    } 
}); 
Verwandte Themen