如何在每次输入更改时更改(添加)DIV类?

时间:2013-04-09 18:40:31

标签: jquery html html5 validation

我问是否可以在输入更改/验证时将类别更改(添加)到DIV。较少说,例如我有两个类:成功和错误。 HTML标记基本上就是这个:

<div class="control-group">
    <label class="control-label" for="inputFirstName">First Name: <span class="text-error">*</span></label>
    <div class="controls">
        <input type="text" id="inputFirstName" placeholder="John">
    </div>
</div>

所以当我用一些值填充输入时(无论是否正确,因为我通过PHP处理验证)然后我应该在success类或control-group后写error时输入是空的。我是如何使用jQuery做的?

3 个答案:

答案 0 :(得分:2)

这样的东西
$div = $(".control-group");
if($("#inputFirstName").length){
  $div.addClass('success');
}else{
   $div.addClass('error');
}  

在表单提交或tymeJV

给出的focusout之类的任何其他适当事件中添加

答案 1 :(得分:2)

您可以使用focusout方法

$("#inputFirstName").focusout(function() {
    var isValid; //Set to either true or false
    isValid ? $(".control-group").addClass("success") : $(".control-group").addClass("error");
});

答案 2 :(得分:1)

要为表单中的每个文本字段(根据请求)完成此操作:

$('#formId input[type=text]').blur(function(e) {
    var input = $(e.target);
    if (input.val().length > 0) {
        input.addClass('success');
        input.removeClass('error');
    }
    else {
        input.addClass('error');
        input.removeClass('success');
    }
});

请参阅this jsFiddle