jQuery在选择更改事件上添加类

时间:2018-11-11 19:01:54

标签: jquery select

我的选择按钮定义如下:

<select class="gfield_select" tabindex="0" aria-required="true" aria-invalid="false"><option value="" selected="selected" class="gf_placeholder">Salutation *</option><option value="Miss">Miss</option><option value="Ms.">Ms.</option><option value="Mrs.">Mrs.</option><option value="Mr.">Mr.</option></select>

当用户进行除默认选项之外的任何选择时,我希望将一个类“ newclass”添加到选择按钮。即,当未选择类别为“ gf_placeholder”的选项时。

我想我需要处理此事件:

$('select').change(function(){

})
.change();

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

change回调函数的主体使用toggleClass仅需要一行:

$(this).toggleClass("newclass", !!$(this).val());

该方法的第二个参数是一个布尔值,当所选选项的值不为空时将为true。

$('select').change(function() {
    $(this).toggleClass("newclass", !!$(this).val());
}).change();
.newclass { background: #ccf; }
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

<select class="gfield_select" tabindex="0" aria-required="true" aria-invalid="false">
    <option value="" selected="selected" class="gf_placeholder">Salutation *</option>
    <option value="Miss">Miss</option>
    <option value="Ms.">Ms.</option>
    <option value="Mrs.">Mrs.</option>
    <option value="Mr.">Mr.</option>
</select>