Пустые вкладки пользовательского интерфейса jQuery

StackOverflow https://stackoverflow.com/questions/721927

Вопрос

Как я могу очистить (удалить все вкладки) вкладки пользовательского интерфейса 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 )
}

У меня была похожая проблема.Чтобы удалить вкладки из предыдущего запроса перед загрузкой новых вкладок, я предпринял следующие шаги:

  1. удалены вкладки (#tabs ul li),
  2. удалено содержимое вкладки (#tabs div) и
  3. обновил вкладки.

Вот код, который я использовал.Работает на меня.Надеюсь, у вас это сработает.

$('div#tabs ul li').remove();
$('div#tabs div').remove();
$("div#tabs").tabs("refresh");

Другие решения, которые я нашел, размещенные в Интернете, у меня не сработали.

Вы должны иметь возможность просто отвязать вкладки от селектора.

$('#content').unbind();

Редактировать:

Прямо из документации jQuery

.tabs( 'destroy' );

Полностью удалите функциональность вкладок.Это вернет элемент обратно в его состояние до инициализации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top