'<label id="quantite" for="quantite">Quantite : </label><input id="QteSpinner" value="1"></br>'
[...]
var newSpinner = $( "#QteSpinner" ).spinner({
min: 1
});
如何限制用户只在这样的JQuery微调器中键入数字?
由于
答案 0 :(得分:3)
使用
{小数:0}
或
{分钟:0}
或两者一起在选项中
答案 1 :(得分:2)
请查看此fiddle链接。我创建了一个样本,它将限制微调器中的负数。
var value;
var $container=$("#QteSpinner");
var newSpinner = $container.spinner({
min: 1,
}).focus(function () {
value = $container.val();
}).blur(function () {
var value1 = $container.val();
if (value1<0) {
$container.val(value);
}
if(isNaN(value1))
{
$container.val(value);
}
});
我希望这会对你有所帮助。
答案 2 :(得分:1)
使用更改功能将非整数输入映射到合适的默认值,例如
var myspinner = $( "#myspinner" ).spinner(
{
min: 1,
change: function (event, ui ) {
var val = myspinner.spinner( "value" );
myspinner.spinner("value", parseInt(val,10) || 1);
/*
var val = $(this).spinner( "value" );
$(this).spinner("value", parseInt(val,10) || 1);
*/
}
});
这不会阻止用户输入废话,但是一旦微调器失去焦点,它就会限制微调器中的值。如果你绝对必须阻止输入除数字之外的任何东西,你可以用keypress()函数做一些事情。有关详细信息,请参阅jquery to check when a someone starts typing in to a field。
答案 3 :(得分:0)
我就这样做了:
jQuery( "#spinner" ).spinner({ min: 0 });
jQuery( "#spinner").keyup(function() {
if( isNaN (jQuery(this).val() )){ //Only numbers !
jQuery(this).prop("value", "0") ; //Back to 0, as it is the minimum
}
});
完成。
答案 4 :(得分:0)
Francisco Corrales Morales的比赛有所改善,因为它并没有将比赛范围归零。它只会删除Alpha条目
jQuery( "#repeat_x").keyup(function() {
if(isNaN (jQuery(this).val() )){
/* however only slicing off the last character instead of setting to 0 */
jQuery(this).prop("value",jQuery(this).prop("value").slice(0, -1));
}
});
答案 5 :(得分:0)
或者您可以检查击键值,然后使用$ .isNumeric()对其进行测试,例如:
$("#spinner").spinner({
min: 1
}).keypress(function(e){
key = e["originalEvent"]["key"];
if (!$.isNumeric(key)){
e.preventDefault();
}
});