简体   繁体   English

如何更改选择标签内选项名称的颜色?

[英]How to change the color of the Option name inside the select tag?

I am dynamically constructing html and appending it to the HTML select tag我正在动态构建 html 并将其附加到 HTML 选择标记

This is my code这是我的代码

var companies = ["ONE","TWO","THREE","OTHERS","TEN"];

var comapnieshtml = '<option value="" selected>All Companies</option>';
                for (var i = 0; i < companies.length; i++) {
                    comapnieshtml += '<option value="' + companies[i] + '">' + companies[i] + '</option>'
                }
                $("#companieslist").html(comapnieshtml);

My requirement is that if the option value is Others i want to display it in a separate color我的要求是,如果选项值为其他,我想以单独的颜色显示它

This is my fiddle这是我的小提琴

Could you please let me know how to achive this你能告诉我如何做到这一点吗

http://jsfiddle.net/jm9zp0pp/3/ http://jsfiddle.net/jm9zp0pp/3/

Working Fiddle: http://jsfiddle.net/o9suqu0y/1/工作小提琴: http : //jsfiddle.net/o9suqu0y/1/

$(function(){
    $("#companieslist").change(function(){
        if ($('#companieslist').val() == "OTHERS"){
            $("#companieslist").css('color','red')
        }
        else{
            $("#companieslist").css('color','black')
        }
    })
})

You can add css using jquery.您可以使用 jquery 添加 css。 Check if the option is selected using jquery, if not u can add css attribute.检查是否使用 jquery 选择了该选项,如果没有,您可以添加 css 属性。

CSS CSS

.color{
color:#0F0F0F;
}

JQuery查询

    $('#mySelectBox option').each(function() {

        if(!$(this).is(':selected')){
            $(this).addClass(color);
        }
    }

This way you can add the class only to the elements which are not selected通过这种方式,您可以仅将类添加到未选择的元素中

Try this -尝试这个 -

var companies = ["ONE","TWO","THREE","OTHERS","TEN"];

var comapnieshtml = '<option value="" selected>All Companies</option>';
            for (var i = 0; i < companies.length; i++) {

                if (companies[i]=="OTHERS")
                {comapnieshtml += '<option style="color:green" value="' + companies[i] + '">' + companies[i] + '</option>'}
                else
                {comapnieshtml += '<option style="color:black" value="' + companies[i] + '">' + companies[i] + '</option>'}
            }
            $("#companieslist").html(comapnieshtml);

$(function(){
$("#companieslist").change(function(){
    if ($('#companieslist').val() == "OTHERS"){
        $("#companieslist").css('color','green')
    }
    else{
        $("#companieslist").css('color','black')
    }
})
})

Simply edited the answer given by @Rajan.简单地编辑了@Rajan 给出的答案。 Credit goes to him.功劳归于他。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM