jquery - 控制CSS的选项值

标签 jquery css

我在下面有这段代码,用于控制在下拉列表上切换时隐藏时显示哪个颜色 block 。

但是,它仅在我对下拉列表进行更改(即选择颜色)时才有效。 但我也需要它在加载时显示正确的颜色 block 。

现在,无论加载的“值”如何,它都会默认显示#red_ok。

如何编辑此代码来实现此目的?

 $(function () {
   $("#product-select-option-1").change(function() {
     var val = $(this).val();

    if(val === "Red") {
       $("#red_ok").css({"display":"block"});
       $("#yellow_ok").css({"display":"none"});
   
    }
    else if(val === "Yellow") {
        $("#yellow_ok").css({"display":"block"});
        $("#red_ok").css({"display":"none"});
     
    }  }); });

.

#red_ok {width:25px; height:25px; background:#c40314;}
#yellow_ok {display:none; width:25px; height:25px; background:#f5d116;}

最佳答案

只需手动触发 change 事件即可:

$(function () {
    // binds the change event-handler:
    $("#product-select-option-1").change(function () {
        var val = $(this).val();

        if (val === "Red") {
            $("#red_ok").css({
                "display": "block"
            });
            $("#yellow_ok").css({
                "display": "none"
            });

        } else if (val === "Yellow") {
            $("#yellow_ok").css({
                "display": "block"
            });
            $("#red_ok").css({
                "display": "none"
            });

        }
    // triggers the change event:
    }).change();
});

JS Fiddle demo .

但是,上面的内容可以减少和简化为:

$(function () {
    $("#product-select-option-1").change(function () {
        $('div[id$="ok"]').hide();
        $('#' + this.value.toLowerCase() + '_ok').show();
    }).change();
});

JS Fiddle demo .

引用文献:

关于jquery - 控制CSS的选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19178896/

相关文章:

javascript - 如何在使用 jquery/css 动态显示周围元素的同时保持当前屏幕位置

javascript - 如何构建具有多个复选框的过滤器模块?

javascript - jQuery:确定[服务器的]文档根目录

html - 如何让图像小部件居中显示在我的 WordPress 网站的页脚中?

jquery - 在 Transit.js 转换期间内联显示隐藏的 DIVS?

css - Blogspots 小部件 CSS 位置 : fixed; and Chrome 的奇怪问题

jquery - 如何检测浏览器版本并显示不支持的消息

javascript - 在单选按钮组中,如何让其中的 2 个启用文本框,其中一个禁用/只读文本框

jquery - 正则表达式:在单词后的下一个换行处拆分

css - 如何在 rem - bootstrap 中实现响应式字体大小