如果输入的数字高于24或仅为0,请忽略输入

时间:2014-10-03 22:46:28

标签: jquery input numbers

如果用户输入的数字高于24且用户已输入0,我希望此功能忽略输入。现在,我可以输入比24更高的数字。为什么?

$('body').on('keyup', 'input[name="textfield-number-month"]', function(e) {
    var data_val = $(this).val();

    if(parseInt(data_val) >= 25 || parseInt(data_val) == 0) {
        e.preventDefault();
        return false;

    } else if(parseInt(data_val) <= 24) {
        // Some code...
    }
});

jsFiddle

2 个答案:

答案 0 :(得分:1)

您只是停止进一步输入,但您可以执行编号99 ...您必须重新设置值,例如:

    if (parseInt(data_val) >= 25 || parseInt(data_val) == 0) {
        $(this).val("25");
        e.preventDefault();
        return false;

    } else if (parseInt(data_val) <= 24) {
        // Some code...
    }

您也可以将它设置回来:

        $(this).val("");

答案 1 :(得分:1)

我建议您在用户输入范围

之外的值时删除最后一个字符
$(this).val(data_val.slice(0,1));

这是 jsFiddle