2013-04-09 3 views
1

Я прошу, если можно изменить (добавить) динамически класс в DIV при вводе изменения/проверки. Меньше сказать, например, у меня есть два класса: успех и ошибка. HTML разметка в основном это один:Как изменить (добавить) класс DIV при каждом изменении ввода?

<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> 

Итак, когда я заполняю вход с некоторым значением (независимо от того, правильно или нет, потому что я обрабатывать Validations корыта PHP), то я должен написать success после control-group класса или error когда это вход был пустым. Как я это делаю с помощью jQuery?

+1

$ ("# yourId"). AddClass ('className'), http://api.jquery.com/addClass/ – David

+1

http://api.jquery.com/addClass/ – Schleis

+0

Чтобы уточнить, вы хотите для добавления класса 'error' или' success', когда пользователь * оставляет * поле ввода *, или когда пользователь * отправляет * * форму *? –

ответ

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.

+0

приятно и спасибо, это я искал! – Reynier

2

Что-то вроде

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

Добавьте его в формы или любое другое подходящее событие, как focusout, данное tymeJV

+0

это должно работать для #inputFirstName, но как насчет каждого поля текста типа в моей форме? Возможно? – Reynier

2

Вы можете использовать метод focusout

$("#inputFirstName").focusout(function() { 
    var isValid; //Set to either true or false 
    isValid ? $(".control-group").addClass("success") : $(".control-group").addClass("error"); 
}); 
Смежные вопросы