我有一个问题,我正在使用Textext.js从数据库中列出用户,我正在使用带有自定义数据对象({name:'nameTag',id:1})的标签,问题是我需要使用“ cleanFields”按钮清理文本字段和标签,但我找不到解决方法。这是我的代码:
$("#myTextarea").textext({
plugins: 'tags prompt autocomplete',
prompt: 'Add one...',
ext: {
itemManager: {
items: [],
stringToItem: function (str) {
for (var i = 0; i < this.items.length; i++)
if (this.items[i].name == str) {
id = this.items[i].id;
break;
}
return { name: str, id: id }; //tags with custom data objects
},
itemToString: function (item) {
this.items.push(item);
return item.name;
},
compareItems: function (item1, item2) {
return item1.name == item2.name;
}
}
}
})
.bind('getSuggestions', function (e, data) {
var list = f_GetListTags() //this returns the list from the database
, textext = $(e.target).textext()[0],
query = (data ? data.query : '') || '';
$(this).trigger(
'setSuggestions',
{ result: textext.itemManager().filter(list, query) }
);
})
按钮:
$("#cleanFields").click(function () {
$('#myTextarea').val(''); //this cleans the text area
//but i also need to remove all tags :(
});
请帮助我! :(
答案 0 :(得分:0)
标签存储在div类 .text-tags 中,并且具有锚点 a.text-remove ,您可以将其删除-您将不会如果您已经使用了文本区域,则无需清除文本区域,因为它已经是删除的一部分:
$("#cleanFields").click(function () {
// This will clear the text area and remove the tags :)
$(".text-tags a.text-remove").trigger("click");
});
警告:这将清除所有带有标签的文本区域。除非仅使用1个标签输入字段,否则应考虑使选择器(id /类)更具体,以避免冲突。