首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果选择了默认选项,则将类添加到“选择”

如果选择了默认选项,则将类添加到“选择”
EN

Stack Overflow用户
提问于 2018-04-12 08:41:24
回答 1查看 1K关注 0票数 1

我有10个下拉列表(启用AJAX模式的Drupal 7中的视图公开过滤器),如果选择了默认选项,则需要向每个列表添加额外的类"test“。并从未选择默认选项的列表中删除类"test“。我有:

代码语言:javascript
运行
复制
$('.selDiv option:eq(0)').prop('selected', true).jQuery("select").addClass("test");

它将"test“类添加到所有下拉列表中。但是,如果您在任何列表中选择了任何非默认值,那么所有列表的“测试”类(即使选择了默认选项)都会消失,直到页面重新加载时才会再次出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-12 08:44:46

为此,只需向change元素添加一个select事件处理程序,该元素将检查所选option的索引,然后根据需要添加或删除test类:

代码语言:javascript
运行
复制
$('.selDiv option:eq(0)').prop('selected', true)
$("select").addClass("test").on('change', function() {
  var optionIndex = $(this).find('option:selected').index();
  $(this).toggleClass('test', optionIndex == 0);
});
代码语言:javascript
运行
复制
.test {
  border: 1px solid #C00;
  outline: 0;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="selDiv">
  <option>Please select</option>
  <option>Foo</option>
  <option>Bar</option>
</select>

<select class="selDiv">
  <option>Please select</option>
  <option>Foo</option>
  <option>Bar</option>
</select>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49791847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档