2017-07-23 3 views
0

Grundsätzlich möchte ich hier den Wert in einem input Element eine Nicht-Null-Ziffer (0<x<=9) behalten. Hier ist mein tag:Wert in Eingabe unter 10 halten

<input type="number" class="cell"> 

ich mehrere JavaScript Ideen ausprobiert haben, aber keiner von ihnen scheint zu funktionieren. Ich benutze jQuery 3.2.1, BTW.

+3

gedrückt hast du min max Attribut Eingabe versuchen? –

+0

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number#Specifying_minimum_and_maximum_values ​​ –

+0

@TalhaAbrar 'max' Attribut verhindert nicht, dass der Benutzer eine unerwünschte Nummer eingibt. –

Antwort

1

Hier ist das, was Sie suchen:

<input type="number" class="cell" min="0" max="9" pattern="\d{0,9}">

+0

Genau das, was ich gesucht habe! +1. –

0

Hier gehen Sie mit der Lösung https://jsfiddle.net/pj0L78sm/3/

$('input[type="number"]').attr({ 
 
\t max: 10, 
 
    min: 0 
 
}); 
 

 

 
$('input[type="number"]').keydown(function(e){ 
 
\t var value = $(this).val() + (parseInt(String.fromCharCode(e.which)) || 0); 
 
\t if(e.which != 8 && (parseInt(value) < 0 || parseInt(value) > 10) || e.which === 189){ 
 
    \t e.preventDefault(); 
 
    return false; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number" class="cell">

I Grenze als 0 bis 10 und auch verwendet jQuery 3.2.1 in jsFiddle gehalten haben.

+3

Ich kann z. 4234 und es akzeptiert es immer noch. –

+0

Hier gehts mit der Lösung https://jsfiddle.net/pj0L78sm/3/. Lassen Sie mich die Antwort auch aktualisieren – Shiladitya

0

Dort gehen Sie:

$('input[type="number"]').on('keyup click', function(){ 
 
\t if($(this).val() > 9){ 
 
    \t $(this).val(9); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number" class="cell">

1

Werfen Sie einen Blick auf dieses Beispiel.

$('input[type=number]').keyup(function(e) { 
 
    var key = e.key 
 
    if (/[0-9]/.test(key)) { 
 
    e.target.value = key 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="number" class="cell" min="0" max="9" value="0">

+0

Das scheint für mich zu funktionieren. –

0

können Sie Eingang Ereignis verwenden:

$('[type=number]').on('input', function(e) { 
 
    if (this.value > 9) { 
 
     this.value = this.value.split('').pop(); 
 
    } 
 
    if (this.value <= 0) { 
 
     this.value = 1; 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 

 

 
<input type="number" class="cell">

0

Um eine Zahl 1-9 zu erlauben, alles, was Sie tun müssen, ist nicht zulassen alles mit mo re als zwei Zahlen, das heißt eine Länge über 1

Null zu verbieten, verhindern die Standardaktion, wenn ein Null

$('.cell').on('keydown', function(e) { 
 
    this.value = this.value.slice(1); 
 
    if (e.which === 48 || e.which === 96) e.preventDefault(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="number" class="cell">

Verwandte Themen