Пустые вкладки пользовательского интерфейса jQuery
-
05-09-2019 - |
Вопрос
Как я могу очистить (удалить все вкладки) вкладки пользовательского интерфейса jQuery?
Редактировать:Я не пытаюсь удалить функциональность вкладок, но очистить все вкладки, чтобы добавить новые.
Я пытаюсь с:
for (var i = $('#content').tabs('length') - 1; i >= 0; i--) {
$('#content').tabs('remove', i);
}
Но tabs('длина') всегда возвращает 0, даже если к элементу управления добавлено несколько вкладок.
Кстати, я инициализирую его пустым
$('#content').tabs();
и последующее динамическое добавление вкладок
$('#content').tabs( 'add' , '' , data[i].nombre);
Решение
Вы пробовали добавлять вкладки с непустым URL-адресом?
$('#content').tabs( 'add' , 'non empty url' , data[i].nombre);
Скопировано из официальной документации (http://docs.jquery.com/UI/Tabs#method-add)
.tabs( 'add' , url , label , [index] )
Добавьте новую вкладку.Вторым аргументом является либо URL-адрес, состоящий только из идентификатора фрагмента, для создания вкладки на странице, либо полный URL-адрес (относительный или абсолютный, без междоменной поддержки), чтобы превратить новую вкладку в Ajax (удаленную) вкладку.Третья - это нулевая позиция, в которую нужно вставить новую вкладку.Необязательно, по умолчанию новая вкладка добавляется в конце.
Другие советы
У меня возникли проблемы с перебором вкладок и удалением их всех, как вы делаете в своем вопросе.Мое решение состояло в том, чтобы удалить 0-ю вкладку количество раз, равное значению, возвращаемому методом "length" объекта tabs:
var tab_count = $('#tabs').tabs('length');
for (i=0; i<tab_count; i++){
$('#tabs').tabs( "remove" , 0 )
}
У меня была похожая проблема.Чтобы удалить вкладки из предыдущего запроса перед загрузкой новых вкладок, я предпринял следующие шаги:
- удалены вкладки (#tabs ul li),
- удалено содержимое вкладки (#tabs div) и
- обновил вкладки.
Вот код, который я использовал.Работает на меня.Надеюсь, у вас это сработает.
$('div#tabs ul li').remove();
$('div#tabs div').remove();
$("div#tabs").tabs("refresh");
Другие решения, которые я нашел, размещенные в Интернете, у меня не сработали.
Вы должны иметь возможность просто отвязать вкладки от селектора.
$('#content').unbind();
Редактировать:
Прямо из документации jQuery
.tabs( 'destroy' );
Полностью удалите функциональность вкладок.Это вернет элемент обратно в его состояние до инициализации.