如何防止 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 已更新
我正在通过向其添加自定义标签来试验 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 已更新