如何删除未选中的(先前选定的)类名

时间:2016-05-09 07:11:59

标签: jquery

<select id="mc_nos">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>


$('#mc_nos').change(function() {
     if($('#mc_nos option:selected')){
        $("#mc_nos option:selected").addClass("important");
     } 
});

我选择了第一个选项。我得到了像这样的输出

<select id="mc_nos">
<option class="important">1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>

我选择了第二个选项。我得到了这样的输出

<select id="mc_nos">
<option class="important">1</option>
<option  class="important">2</option>
<option>3</option>
<option>4</option>
</select>

但我想要这样的输出

<select id="mc_nos">
<option>1</option>
<option class="important">2</option>
<option>3</option>
<option>4</option>
</select>

当我选择第一个选项时,此选项仅添加类名称 接下来我选择第二或第三.....这些选项只有addClass 剩下的课程将删除 如何删除未选中的(先前选定的)类名

3 个答案:

答案 0 :(得分:0)

从先前选择的元素中删除类,也不需要if条件它将始终为真。

$('#mc_nos').change(function() {
  // remove class for elements which is not selected
  $("option:not(:selected)", this).removeClass("important");
  $("option:selected", this).addClass("important");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="mc_nos">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>

答案 1 :(得分:0)

在更改事件中首先删除important类,如下所示。

$('#mc_nos').change(function () {
    $('.important', this).removeClass('important');
    if ($('#mc_nos option:selected')) {
        $("#mc_nos option:selected").addClass("important");
    }
});

答案 2 :(得分:0)

首先删除课程:

class EmailAddress(models.Model):

    user = models.ForeignKey(allauth_app_settings.USER_MODEL,
                             verbose_name=_('user'))
    email = models.EmailField(unique=app_settings.UNIQUE_EMAIL,
                              max_length=254,
                              verbose_name=_('e-mail address'))
    verified = models.BooleanField(verbose_name=_('verified'), default=False)
    primary = models.BooleanField(verbose_name=_('primary'), default=False)

    objects = EmailAddressManager()