0

如果选择了某个条件,我希望 jQuery 将我的一些多选列表选项的颜色更改为红色。这是我的代码:

$.each(subjects, function(key, subject) 
        {
            if (select.find('option[value=\"' + encodeURIComponent(subject) + '\"]').length === 0 && subject!="") 
            {
                   $('<option>', {
                     value: subject,
                     text: subject
                     }).appendTo(select);

                 if (colored==true)
                     {
                         //Change color of options' text
                         $("option[value='"+subject+"']").css('color', 'red');
                     }
            }
        });

这段代码的问题在于,jQuery 不仅将当前正在运行的多选选项的选项设置为红色,而且它的名称在变量select中定义。但是 jQuery 也会在页面上的所有其他多选中为这些选项着色,如果它们包含它的话。

如何编辑此代码以使 jQuery 仅对当前多选中包含的选项进行着色,其名称再次在select变量中定义?

例如,更换

$("option[value='"+subject+"']").css('color', 'red');

(select.find("option[value='"+subject+"']").css('color', 'red');

不工作。什么是正确的代码?先感谢您。

4

1 回答 1

0

你试过了吗?

$("#" + selectList + " option[value='"+ encodeURIComponent(subject)+"']").css('color', 'red');

LMM - 编辑以包含编码

于 2013-01-03T20:13:23.393 回答