JQuery UI选项卡 - 替换选项卡和内容

时间:2010-04-03 23:43:58

标签: jquery jquery-ui jquery-ui-tabs

替换当前所选标签及其内容的最佳方法是什么?内容是使用jquery动态生成的,不是通过URL加载的。

我需要从任何标签代码或标签事件处理程序(显示,添加等)之外执行此操作。页面上的其他位置链接在单击时应执行以下操作:

  • 更改标签的标题
  • 更改标签的className
  • 清除tabcontent div的所有元素
  • 更改tabcontent div的className
  • 在tabcontent div
  • 中生成新内容

请注意,此链接的click()处理程序的唯一引用是JQuery选项卡对象($ Tabs)。我可以使用$Tabs.tabs('option','selected')获取所选标签。但是,如何获得对所选选项卡选项卡和面板的引用?在jquery选项卡处理程序(显示,添加等)中,我可以访问ui.tabui.panel,但有没有办法从选项卡选项中获取它们?

仅删除当前选定的标签然后在同一索引位置添加新标签会更好吗?我必须把代码生成标签内容到add()处理程序然后我想。

编辑:我很惊讶没有人有任何建议。我通过删除当前选定的选项卡然后在同一位置添加新选项卡来完成工作。在快速浏览器中,这是一个不错的解决方案,但在浏览器中使用慢速javascript,您实际上可以看到选项卡消失,然后出现一个新选项卡。它有效,但它确实不是最佳的。

2 个答案:

答案 0 :(得分:1)

FWIW - 我有同样的问题,试图引用动态创建的选项卡内容div容器来修改内容。我能够用:

引用div容器“tabs”的内容
<p>
$("#ui-tabs-1").html
</p>

其中1是我需要修改其容器的ajax选项卡的索引。希望这对你有所帮助。

答案 1 :(得分:0)

不要忘记,标签面板(=content) index不是zerobased,而选择标签索引是!

所以'#ui-tabs-1'中的'1'是'ui.index' (= selected tab) + 1的值!