根据 Select2 4.0 中的值应用 css class

Applying css class according to value in Select2 4.0

我有一个select2 select,我想根据值改变背景颜色。

但是,允许我这样做的选项 (formatSelectionCssClass) 似乎已从 select2

的 V4.0 中删除

我尝试将 templateResult 与以下内容一起使用:

templateResult: function (item) {
            if (item.loading)
                return item.text;

            var element = $("#" + item._resultId);

            switch (item.text) {
                case "0":
                    element.addClass("element-0");
                    break;
                case "1":
                    element.addClass("element-1");
                    break;
                case "2":
                    element.addClass("element-2");
                    break;
                case "3":
                    element.addClass("element-3");
                    break;
            }

            return item.text;
        },

编辑:JSFiddle:https://jsfiddle.net/ubswjv95/

您无法通过选择器找到元素,因为当您尝试获取 var element = $("#" + item._resultId); 项时,下拉列表中未添加。我已经更新了你的 fiddle,我没有用你的 类 返回项目 returns div 的文本,而且看起来很好 https://jsfiddle.net/ubswjv95/2/。此解决方案几乎不需要调整,但这是您应该采用的方式。