Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery多个对象选择$(这个)?_Jquery - Fatal编程技术网

jQuery多个对象选择$(这个)?

jQuery多个对象选择$(这个)?,jquery,Jquery,我的表单上有三个我已成功创建的输入字段,并且仅限于三位数字。然后,我想在更改它们时测试它们是否小于255,如果没有,请将用户带回该字段重试。除了$(this.select())之外,下面的代码正在运行;选项如何快速将用户带回“冒犯”字段 $(".colorField").change(function () { if (parseInt($(this).val(), 10) > 255) { $(this).s

我的表单上有三个我已成功创建的输入字段,并且仅限于三位数字。然后,我想在更改它们时测试它们是否小于255,如果没有,请将用户带回该字段重试。除了$(this.select())之外,下面的代码正在运行;选项如何快速将用户带回“冒犯”字段

            $(".colorField").change(function () {
            if (parseInt($(this).val(), 10) > 255) {
                $(this).select();
                //display error message
                $("#errmsg").html("Must be less than 255").show().fadeOut(2000);
            }
        });
您可以使用事件将焦点设置回您的输入

另外,只需使用
$(this).val().length
即可获得输入值字符数

下面是一个正在工作的JSFIDLE:

HTML
评论后编辑 下面是一个新的JSFIDLE,它检查用户的输入是否为数字,以及数字是否小于或等于255。如果该值更高,它将自动将该值替换为255。

HTML

JS
//检查数字是否小于或等于255
$(“.colorField”).keyup(函数(e){
如果($(this).val()>255){
e、 预防默认值();
$(此).val(255);
}
});
//只接受数字
$(“.colorField”).keypress(函数(e){
如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
返回false;
}
});

他没有试图限制在255个字符以内。他试图将输入的数值限制在255以内。谢谢,我误读了。我编辑了我的答案,并给出了一个不同于作者意图的选项。我仍然通过
.focus()
活动回答了他最初的问题。谢谢大家的回答。甚至JSFIDLE也没有返回焦点,所以现在我认为这可能只是IE11的问题。再次感谢您,因为我们现在有一些解决办法。
<input type="text" class="colorField">
<div id="errmsg"></div>
$(".colorField").change(function () {

    // Input value length should be less than 255 chars
    if ( $(this).val().length > 255 ) {
        // Set the focus back on the input
        $(this).focus();
        // Display error message
        $("#errmsg").html("Must be less than 255").show().fadeOut(2000);
    }
});
<input type="text" class="colorField" maxlength="3">
// Check if the number is less than or equal to 255
$(".colorField").keyup( function(e) {

    if ( $(this).val() > 255 ) {
        e.preventDefault();
        $(this).val(255);
    }
});

// Only accepts numbers
$(".colorField").keypress( function(e) {

    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
        return false;
    }
});