2009-04-06 2 views
1

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

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

Пытаюсь с:

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

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

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

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

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

$('#content').tabs('add' , '' , data[i].nombre); 

ответ

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

3

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

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

EDIT:

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

.tabs('destroy'); 

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

+0

Спасибо за ваш ответ. Я не пытаюсь очистить вкладку, но удалить текущие вкладки, чтобы добавить новые. – Gerardo

6

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

var tab_count = $('#tabs').tabs('length'); 
for (i=0; i<tab_count; i++){ 
    $('#tabs').tabs("remove" , 0) 
} 
+0

Извините, что? 'Ошибка: нет такого метода 'length' для экземпляра виджета вкладок' ([действительно] (https://api.jqueryui.com/tabs/)) – yPhil

4

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

  1. удалены язычки (#tabs уль ли),
  2. удалить содержимое вкладки (#tabs дел) и
  3. обновился вкладки.

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

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

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

+0

Это правильный ответ. Насколько я обеспокоен – yPhil

Смежные вопросы