Добавить класс, когда (...) с JQuery - PullRequest
1 голос
/ 17 мая 2011

У меня есть такой простой код:

HTML:

<input type="text" name="name" class="required" />

<select id="options" name="options" size="1">
  <option value="0"> YES </option>
  <option value="1"> NO </option>
</select>


<input type="text" name="email" />
<input type="text" name="city" />

Вопрос:

Я хочу добавить class = "required" к email и city полям, когда options равно 1

Ответы [ 4 ]

3 голосов
/ 17 мая 2011

Что-то вроде:

$('#options').change(function() {
    $('input[name="email"], input[name="city"]')
       .toggleClass('required', this.value === '1');
});

Ссылка: change, toggleClass

1 голос
/ 17 мая 2011

Я добавил идентификаторы к вашим элементам ввода, чтобы ускорить селектор:

 <input type="text" name="email" id="email" />
 <input type="text" name="city" id="city" />

JQuery:

$("#options").change(function() {
    if ($(this).val() == "1") {
        $("#email, #city").addClass("required");
    }
    else {
        $("#email, #city").removeClass("required");
    }
});
0 голосов
/ 17 мая 2011

присваивает идентификаторы входам и выполняет следующую логику, идентификаторы всегда лучше, поскольку в случае сложных DOM требуется меньше времени.

$('#options').change(function(){
if($(this).val() == 1) {
 $('#inputemail').addClass('required');
 $('#city').addClass('required');
}else {
$('#inputemail').removeClass('required');
 $('#city').removeClass('required');
}
});
0 голосов
/ 17 мая 2011
if( $('#options').val() == "1"){
   $('#email, #city').addClass('required');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...