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");
});

Внимание: это очистит все текстовые поля с тегами. Если вы не используете только одно поле ввода тега, вам следует подумать о том, чтобы сделать ваши селекторы (идентификаторы / классы) более конкретными, чтобы избежать конфликтов.

Другие вопросы по тегам