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

1

Как я могу удалить (удалить все вкладки) вкладки пользовательского интерфейса jQuery?

EDIT: я не пытаюсь удалить функциональные возможности вкладки, но чтобы удалить все вкладки, чтобы добавить новые.

Я пытаюсь:

for (var i = $('#content').tabs('length') - 1; i >= 0; i--) {
    $('#content').tabs('remove', i);
}

Но вкладки ( "длина" ) всегда возвращают 0, даже если в элемент управления добавлены некоторые вкладки.

Кстати, я инициализирую его пустым

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

и добавление вкладок динамически после

$('#content').tabs( 'add' , '' , data[i].nombre);
Теги:
jquery-ui-tabs

4 ответа

2
Лучший ответ

Вы пытались добавить вкладки с непустым 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 (удаленный). Третий - это позиция, основанная на нуле, где нужно вставить новую вкладку. Дополнительно, по умолчанию новая вкладка добавляется в конце.

6

У меня возникали проблемы с итерацией через вкладки и удалением их всех, как в вашем вопросе. Мое решение состояло в том, чтобы удалить 0-я вкладка несколько раз, равную значению, возвращаемому методом "length" объекта tabs:

var tab_count = $('#tabs').tabs('length');
for (i=0; i<tab_count; i++){
    $('#tabs').tabs( "remove" , 0 )
}
  • 0
    Что простите ? Error: no such method 'length' for tabs widget instance ( действительно )
4

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

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

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

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

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

  • 0
    Это правильный ответ, насколько я обеспокоен
3

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

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

EDIT:

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

.tabs( 'destroy' );

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

  • 0
    Спасибо за Ваш ответ. Я не пытаюсь очистить функциональность вкладок, но удаляю текущие вкладки, чтобы добавить новые.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню