每个输入[text]的jquery上的"this"验证

Sam*_*pez 0 jquery this

我在表单中有多个文本输入,并希望验证每个输入,如下所示:

  $(document).on('keyup', 'input [type="text"]', function (){
    var html = '<span class="error">Se necesita una <b>descripcion mayor a 3 letras!</b>!</span>';
    var val = $(this);
    alert(val.val());   
    //if it's NOT valid  
    if(t.val().length < 4){  
        $(html).insertAfter(val);

    }  
    //if it's valid  
    else{  
        val.find('.error').remove();

    }
});
Run Code Online (Sandbox Code Playgroud)

我正在对每个输入执行一个键盘事件,并使用它来引用用户输入的输入,但是没有验证发生并且没有警告值,所以我猜这个函数没有触发是输入选择器右?这是使用"this"的正确方法吗?

hun*_*ter 5

input [type="text"]不是正确的选择器,它应该是input[type="text"]input:text

空间很重要.它正在寻找input具有[type=text]属性的元素的子元素.


你可能会更好地重新布置你的活动:

$("input:text").on("keyup", function(e) {
    var $input = $(this);

    if($input.val().length < 4) {  
        var $error = $("<span>", {
            html = "Se necesita una <b>descripcion mayor a 3 letras!",
            "class" = "error"
        });
        $error.insertAfter($input);
    }
    else {  
        $input.siblings(".error").remove();
    }
});
Run Code Online (Sandbox Code Playgroud)