Я хочу добавить класс в родительский элемент раскрывающегося списка в зависимости от динамически добавляемого класса в раскрывающемся списке с помощью jQuery - PullRequest
0 голосов
/ 14 мая 2018

Я хочу добавить класс в родительский элемент раскрывающегося списка в зависимости от динамически добавляемого класса в раскрывающемся списке с помощью jQuery. Но безуспешно.Может помочь мне разобраться с этой проблемой.Ниже приведен мой код.

<label>Exp.Date</label>
                                 <div class="selectWrapper">
                                    <select name="expmonth" class="exp-month required" data-error-message="Please select a valid Expiry Month!">
                                    <?php get_months(); ?>
                                    </select>
                                 </div>[The ui look like the following][1]

jQuery, который я использовал ниже:

$(".exp-month").on("change", function(){
            if($(this).hasClass("no-error")){
                $(this).parent(".selectWrapper").addClass("error_free");
            }else{
                $(this).parent(".selectWrapper").removeClass("error_free");
            }           
        });

Класс no-error добавляется динамически, когда я выбираю какой-то месяц из раскрывающегося списка, и удаляется, когдаЯ выбираю значение по умолчанию - «Месяц» из раскрывающегося списка.

В зависимости от класса no-error я хочу добавить класс error_free к родительскому элементу раскрывающегося списка, но не могу их сделатьправильно.Между тем, когда запускается приведенный выше код, он добавляет мой класс, когда нет ошибок, и наоборот.Более того, он не работает, когда раскрывающийся список меняется с помощью клавиш.

1 Ответ

0 голосов
/ 14 мая 2018

Попробуйте следующий код:

$(".exp-month").on("change", function(){
    if($(this).hasClass("no-error")){
        $(this).closest(".selectWrapper").addClass("error_free");
    }else{
        $(this).closest(".selectWrapper").removeClass("error_free");
    }           
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...