gpt4 book ai didi

javascript - 如何将额外数据与 Tag-it 标签一起存储?

转载 作者:行者123 更新时间:2023-11-29 10:51:18 24 4
gpt4 key购买 nike

我们正在使用 Tag-it使用 Ajax 调用作为标记内容的 tagSource。我们需要包含比标签标签本身更多的数据,例如不同于标签或元数据(例如标签类型)的 ID。返回到 Ajax 调用但我们不想包含在标记标签本身中的数据。

我们可以使用 jQuery's .data method 修改 Tag-it 以包含具有 li 项的数据但如果其他人已经解决了这个问题或者可以推荐另一个标签库,我们将不胜感激。

最佳答案

在不修改 Tag-it 的情况下执行此操作的关键是弥合从自动完成 Ajax 调用返回的额外数据与 Tag-it afterTagAdded 事件之间的差距。

将变量 itemData 添加到范围,该范围将用于存储来自自动完成项目的附加数据:

{
var itemData;

获取对标签元素的引用,以便可以调用创建标签行为

    var theTags = $('#tags');

theTags.tagit({

处理自动完成的 select 事件并存储来自所选自动完成项的附加数据,然后创建标签。

        autocomplete: {
source: [
{value:'User Tag',data:{id: 1, type: 'userTag'}},
{value:'System Tag',data:{id: 2, type: 'systemTag'}}
],
select: function(event,ui) {
itemData = ui.item.data;
theTags.tagit("createTag", ui.item.value);
return false;
}
},

处理 Tag-it 的 afterTagAdded 事件。在这里可以实现修改刚刚添加的标签的任何自定义行为。

        afterTagAdded: function(event, ui) {
if (itemData) {
$(ui.tag).data('type', itemData); // store all data
$(ui.tag).find('input').val(itemData.id); // use a bit of the data
itemData = null;
}
}
});
}

http://jsfiddle.net/yuhxL/2/ 查看此解决方案的工作示例

关于javascript - 如何将额外数据与 Tag-it 标签一起存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9682410/

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