Textext.js - удалить все теги и очистить текстовую область
У меня есть вопрос, я использую 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 :(
});
Пожалуйста, помогите мне!:(
1 ответ
Теги хранятся внутри класса 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");
});
Внимание: это очистит все текстовые поля с тегами. Если вы не используете только одно поле ввода тега, вам следует подумать о том, чтобы сделать ваши селекторы (идентификаторы / классы) более конкретными, чтобы избежать конфликтов.