jQuery select2将类添加到所选项

时间:2016-03-16 16:04:55

标签: javascript jquery select2

我希望能够为选定的标签添加一个类,以便我可以为它们设置不同的颜色。有没有办法做到这一点?作为示例,请参阅以下内容:

enter image description here

因此,如果我希望任何类别标记为绿色,任何位置标记为蓝色,任何关键字标记为红色,我将如何操作。我尝试过使用templateSelection选项,如下所示:

$('select').select2({
    templateSelection: function(item)
    {
        return '<span class="green">' + item.text + '</span>';
    }
});

但HTML会被转义,因此它会显示实际的字符。另外,无论如何,这都不会将类添加到标签本身。

1 个答案:

答案 0 :(得分:1)

您可以使用templateSelection,然后搜索某个位置或关键字,添加escapeMarkup 属性:

function template(data, container) {
  if(/Location\:/.test(data.text)) {
     return '<span class="location">'+data.text+'</span>';
  } else {
     return data.text;
  }
}

$('select').select2({
  templateSelection: template,
  escapeMarkup: function(m) { return m; }
});

请看,它看起来有效:

https://jsfiddle.net/cz4ofkvg/1/