gpt4 book ai didi

javascript - 在 select2 中标记新标签?

转载 作者:数据小太阳 更新时间:2023-10-29 04:12:56 24 4
gpt4 key购买 nike

我正在使用 select2,

我已经设置好了,如果它不存在我可以添加一个新标签,

我也在使用 twitter bootstrap,如果标签不存在,我想将其标记为新标签,为此我在文本前加上 '<span class="label label-important">New</span> '这是我的 select2 初始值设定项。

$('#newVideoCategory').select2({
placeholder: 'Select a category...',
data: categories,
createSearchChoice: function (term, data) {
if ($(data).filter(function () {
return this.text.localeCompare(term) === 0;
}).length === 0) {
return {id: term, text: '<span class="label label-important">New</span> ' + term};
}
},
initSelection: function (element, callback) {
$(categories).each(function () {
if (this.id == element.val()) {
callback(this);
return;
}
})
}
})

现在这很好用

Marked as new tag

除非我为标签输入的内容作为该标签标记的一部分存在 Error marked as new tag

根据我收集到的信息,我需要覆盖 formatResult , formatSelection , 或 matcher .

这是我从文档中得到的,但我不明白我需要如何修改它。

最佳答案

感谢您发布(和回答)问题!我想我找到了一种更简单的方法来解决这个问题:

...
createSearchChoice:function(term, data) {
if ($(data).filter(function() {
return this.text.localeCompare(term) === 0;
}).length === 0) {
return {id:term, text: term, isNew: true};
}
},
formatResult: function(term) {
if (term.isNew) {
return '<span class="label label-important">New</span> ' + term.text;
}
else {
return term.text;
}
},
...

您可以从 createSearchChoice() 函数返回任何对象,因此只需添加一个字段告诉 formatResult() 这是一个新项目。

这样返回的item的文本就是你想要的文本,formatResult()就简单多了。

关于javascript - 在 select2 中标记新标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com