Ranged Number Input
Input element that let you enter just number and set min and max range.
HTML
Just Numbers with min and max Range:
<input class="JNWR" type="number" data-min="2" data-max="999999999999999999999999999999999"/>
JavaScript
$('.JNWR').bind("cut copy paste", function (e) {
e.preventDefault();
});
$('.JNWR').keyup(function (event) {
var min = $(this).attr('data-min');
var max = $(this).attr('data-max');
var val = parseInt($(this).val(), 10);
//alert('up val::::' + val);
//console.log('up val::::' + val);
if (val < min) {
$(this).val(min);
//return false;
}
if (val > max) {
$(this).val(max);
//return false;
}
//console.log('::::::::::::::::::::::::::::::::');
//return true;
});
$('.JNWR').keypress(function (event) {
var min = $(this).attr('data-min');
var max = $(this).attr('data-max');
var val = parseInt($(this).val(), 10);
//alert('press val::::' + val);
//console.log('press val::::' + val);
var charCode = (event.which) ? event.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
//var final = val + String.fromCharCode(charCode);
//if (final < min || final > max)
// return false;
return true;
});
$('.JNWR').keydown(function (event) {
var min = $(this).attr('data-min');
var max = $(this).attr('data-max');
var val = parseInt($(this).val(), 10);
//alert('down val::::' + val);
//console.log('down val::::' + val);
if (!isNaN(val)) {
if (event.keyCode == 37) {
//alert('37');
}
else if (event.keyCode == 38) {
//Up
if (val > max-1)
return false;
}
else if (event.keyCode == 39) {
//alert('39');
}
else if (event.keyCode == 40) {
//Down
if (val - 1 < min)
return false;
}
}
return true;
});