2010-04-03 3 views
1

Каков наилучший способ заменить выбранную вкладку и ее содержимое? Содержимое динамически генерируется с помощью jquery, а не загружается через URL-адрес.Вкладки JQuery UI - заменить вкладку и содержимое

Мне нужно сделать это за пределами любого кода вкладки или обработчика событий табуляции (показать, добавить и т. Д.). Существует прямая связь в другом месте на странице, необходимо сделать следующее при нажатии:

  • Изменить на вкладке Заглавный
  • Изменение этой вкладки имя класса
  • Убирайтесь все элементы tabcontent DIV
  • Измените tabcontent имя класса DIV в
  • Создать новый контент внутри tabcontent DIV

Заметим, что единственное упоминание этого Линка с Обработчик lick() имеет объект вкладки JQuery ($ Tabs). Я могу получить выбранную вкладку с $Tabs.tabs('option','selected'). Но как я могу получить ссылку на вкладку и панель выбранной вкладки? Внутри обработчика вкладки jquery (показать, добавить и т. Д.) У меня есть доступ к ui.tab и ui.panel, но есть ли способ получить их из опции табуляции?

Было бы лучше просто удалить выбранную вкладку, а затем добавить новую вкладку в том же месте индекса? Я должен был бы поместить код для создания содержимого вкладки в обработчик add(), тогда я предполагаю.

EDIT: Я удивлен, что у нас нет никаких предложений. У меня все работает, удалив текущую выбранную вкладку, а затем добавив новую вкладку в том же месте. В быстром браузере это достойное решение, но в браузере с медленным javascript вы можете увидеть, как вкладка исчезает, а затем появляется новая. Он работает, но это действительно не оптимально.

ответ

1

FWIW - У меня была такая же проблема с попыткой ссылаться на динамически созданный контейнер содержимого содержимого, чтобы изменить содержимое. Я был в состоянии ссылаться на содержимое Div контейнера «закладках» с:

<p> 
$("#ui-tabs-1").html 
</p> 

где 1 был индекс вкладки АЯКС которого контейнер мне нужно изменить. Надеюсь, это поможет вам немного.

0

Не забывайте, что вкладка (=content) index не имеет нулевого значения, тогда как индекс выбранной вкладки!

так что '1' в '#ui-tabs-1' это значение 'ui.index' (= selected tab) + 1!

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