如何防止 select2.js 覆盖自定义更改?

How to prevent select2.js from overriding custom changes?

我正在通过向其添加自定义标签来试验 select2

我用这段代码来做:

        $(".js-example-basic-multiple")
            .on("select2:selecting",
                function() {
                    e.params.args.data.text = parentTarget + e.params.args.data.text;
                });

我正在使用多重属性,但我正在使用 select 列表的 optgroup 元素,它充当 parentId 容器,其中每个容器只能 selected。这已解决,但我不能做的是从以前的 selected 选项中删除 "MycustomTag"。

MycustomTag 是

Users

Tank

当 select 一个新选项时,我想删除前一个 select 选项上的 Tank/Users 标签。在我的调试过程中,我发现这在更改事件中被覆盖了,但我不知道如何停止它。

代码非常庞大,所以我创建了一个 fiddle

如何删除我设置的标签?

经过大量的侦探工作后,我找到了一个非常简单的答案...

 $(this).data().data.text = $(this).data().data.text.replace(parentTarget, "");

fiddle 已更新