2017-05-31 1 views

Antwort

0

Ich würde dies tun, versuchen, eine richtige Ziffer von dem Eingang zu erhalten oder auch eine gültige setzen statt:

$(document).on('input','#getScore',function(){ 
 
    var a = $(this).val(); 
 
    if (a.length > 1) 
 
     a = a.replace(/[^1-5]/g, '').substr(-1); 
 
    $(this).val(a > 5 ? 5 : a < 1 ? 1 : a); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="getScore">

+0

vielen Dank. –

+0

Gern geschehen ;-) – trincot

0

Versuchen Sie, diese

$(document).on('keyup','#getScore',function(){ 
    var a = $(this).val(); 
    if(a.length> 1 && $(this).val() > 5) { 
// Your code 
    } 
    }) 
0

hinzufügen if ($ (this) .val(). Länge> 1)

+0

Ich denke, statt onkeyup ich werde verwenden onkeypress . –

0

, wenn Ihr Wert ist eine ganze Zahl bedeutet, val.length Notwendigkeit String sein .. verwenden .toString() vor Länge bekommen.

$(document).on('keyup','#getScore',function(){ 
 
    var a = $(this).attr('value'); 
 
    if($(this).val() > 5 && $(this).val().toString().length > 1){ 
 
     $(this).val(a); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

0

Set mit min und max Wert Attribut und der Wert Länge größer als ein .apply % 10 %5 seine mit konvertieren .surely zu 1-5 finden existieren nie 2 Stelle mit nicht über 5 gehen. Und Benutzer für a% 10 % 5 == 0 ? 1 : a% 10 % 5 ternären Operator seiner Steuerung mit 1-5

$(document).on('keyup','#getScore',function(){ 
 
    var a = $(this).val() 
 
    if($(this).val().length > 1){ 
 
     a = a < 0 ? a*-1 : a; //for negative number 
 
      $(this).val(a% 10 % 5 == 0 ? 1 : a% 10 % 5); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="getScore" type="number" min="0" max="5">

+0

Wie wäre es mit negativen Zahlen? –

+0

min und max in html5 funktioniert nicht für meine Eingabeart –

+0

ich möchte meine Eingabe geben false zurück, wenn die Länge mehr als 1 ist –

0

Nur aus Neugier, wenn Sie versuchen, eine Eingabe zwischen den Zahlen zu beschränken 1-5, warum nicht nur eine Reihe verwenden Eingang?

<form> 
  Quantity (between 1 and 5): 
  <input type="number" name="quantity" min="1" max="5"> 
</form> 
+0

min und max funktioniert nicht in meinem Eingabe-Typ –

Verwandte Themen