Html текст внутри опции выбора не отображается - PullRequest
1 голос
/ 05 августа 2020

Я визуализировал html тегов в параметрах выбора, используя select2, как показано ниже:

$('#select2colors').append($('<option>', {
      value: color,
      text: `<i class="fas fa-square" style="color: ${color}; width:100%;"></i>`
}));

$("#select2colors").select2({
   escapeMarkup: function(markup) {
    return markup;
}

Это вернуло мне что-то вроде этого:

enter image description here

The problem: Now I'm trying to do the same, the same logic but without the append() part. But isn't working, I was looking for a way to do it but I haven't found anything. What I'm doing is this:

 $ ("# select2colors"). select2 ({escapeMarkup: function (markup) {return markup;} 

Я думал, что это будет работать так же, но это не так. <i> просто исчезает, не отображается вообще. Кто-нибудь знает, как я могу добиться этого, чтобы получить то же самое, что и раньше?

Я получаю следующее: HTML не отображается:

введите описание изображения здесь

1 Ответ

1 голос
/ 05 августа 2020

При запуске я помещал HTML напрямую, и мне пришлось преобразовать HTML в обычный текст, как комментарий @ Mohamed-Yousef. Сначала я использовал htmlentities(), но мне нужно было html_entity_decode(), объяснил здесь :

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now
?>
...