我正在尝试使用 jQuery 在填充多选列表的某些选项时将它们涂成红色。这是我的代码:
$.each(subjects, function(key, subject)
{
if (select.find('option[value=\"' + encodeURIComponent(subject) + '\"]').length === 0 && subject!="")
{
//Ajouter la nouvelle catégorie dans la liste
$('<option>', {
value: subject,
text: subject
}).appendTo(select);
if (colored==true)
{
//Change color of options' text
//$("option[value='"+subject+"']").css('color', 'red');
$("#" + selectList + " option[value='"+ encodeURIComponent(subject) +"']").css('color', 'red');
}
}
});
我目前对这段代码有两个问题:
1- 第二个 encodeURIComponent 不能处理包含简单引号的选项。这是控制台中的错误示例:
未捕获的错误:语法错误,无法识别的表达式:
value='est%20le%20type%20d'action%20de']
我尝试修改发生这种情况的行,使其类似于第一个 if 子句中的行,但它没有改变任何东西。
2- 我的 jQuery 代码没有为包含空格的选项着色。
我怎样才能解决这两个问题?先感谢您。
编辑:变量 selectList 包含我的多选的名称。