首页 > 解决方案 > 我想根据使用jQuery向下拉框动态添加的类向下拉框的父级添加一个类

问题描述

我想根据使用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到下拉列表的父元素中,但无法正确执行。同时,当上面的代码运行时,当无错误不可用时它添加了我的类,反之亦然。此外,当使用键更改下拉菜单时,它不起作用。

标签: jquerydrop-down-menudynamically-generated

解决方案


试试下面的代码:

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

推荐阅读