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');
}
}
});
現在、このコードには 2 つの問題があります。
1- 2 番目の encodeURIComponent は、単純な引用符を含むオプションを処理するために機能していません。コンソールのエラーの例を次に示します。
不明なエラー: 構文エラー、認識できない式:
value='est%20le%20type%20d'action%20de']
これが発生する行を最初の if 句のように変更しようとしましたが、何も変更されませんでした。
2- 私の jQuery コードは、スペースを含むオプションに色を付けません。
これらの問題の両方を解決するにはどうすればよいですか? 前もって感謝します。
編集: 変数 selectList には、複数選択の名前が含まれています。