jQuery 根据选择框选项添加 css 类

标签 jquery css class element drop-down-menu

我有 3 个下拉列表,我想根据下拉列表的值将类添加到特定的 div。

<select name="item1">
    <option>Blue</option>
    <option>Green</option>
    <option>Red</option>
</select>

<select name="item2">
    <option>Blue</option>
    <option>Green</option>
    <option>Red</option>
</select>

<select name="item3">
    <option>Blue</option>
    <option>Green</option>
    <option>Red</option>
</select>

<div class="product">
    <div class="item1"></div>
    <div class="item2"></div>
    <div class="item3"></div>
</div>

我正在尝试根据下拉列表的值添加一个 css 类。 例如,如果选择下拉列表 item1 中的选项 blue,我想向 div 添加一个类 .blue元素1

我曾经使用复选框而不是下拉菜单,并且我有以下代码:

$(document).ready(function($){
    $('input#red').change(function(){
        if($(this).is(":checked")) {
            $('div.item1').addClass("red");
        } else {
            $('div.item1').removeClass("red");
        }
    });
    $('input#blue').change(function(){
        if($(this).is(":checked")) {
            $('div.item1').addClass("blue");
        } else {
            $('div.item1').removeClass("blue");
        }
    });
});

我创建了这个:http://jsfiddle.net/uJcB7/14/ 应该如何正确完成?

------------编辑------------

我使用重力形式生成选择框,他们在选项名称后面添加“|0”(我不知道为什么!)。

例如“green|0”而不是“green”。 “|0”隐藏在字段中,但生成的类是“green|0”。

有没有想过如何删除 css 类上的“|0”?

他们还为选择框生成一个名称,是否可以使用类而不是使用名称元素?

查看更新后的代码:

http://jsfiddle.net/uJcB7/24/

最佳答案

<div> 的类添加类与 name 相同<select>的属性(property)正在更改的元素,并且要添加的类的名称是所选选项值的小写版本。考虑到这一点,这是有效的:

$(document).ready(function($){
    $('select').change(function(){
        $('.' + this.name).attr('class', this.name + ' ' + this.value.toLowerCase());
    });
});

jsFiddle DEMO

关于jQuery 根据选择框选项添加 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11208021/

相关文章:

python - 从不是类成员的类中调用单独脚本中的函数

javascript - 在没有jquery的情况下缩小一个div

带有命名空间与 oop 的 php 过程

jQuery - 气泡对话布局

javascript - 等待用户点击而不是页面加载来启动功能

html - 在 Joomla 中通过自定义 CSS 隐藏 html h3 链接

css - 让 PhpStorm 识别 CSS 中的 PreCSS(类 Sass)变量

javascript - super 函数如何访问子类中的另一个 super 函数?

javascript - 单击目标 ="_blank"链接时隐藏 jQueryUI 工具提示

javascript - 禁用 sap.ui.commons.Accordion 的重新排序