当前位置:  开发笔记 > 编程语言 > 正文

jQuery选项卡 - 获取新选择的索引

如何解决《jQuery选项卡-获取新选择的索引》经验,为你挑选了3个好方法。

我之前使用jquery-ui tabs扩展来加载页面片段ajax,并隐藏或显示div页面中的隐藏页面.这两种方法都有很好的记录,我在那里没有任何问题.

但是,现在我想用标签做一些不同的事情.当用户选择一个标签时,它应该完全重新加载页面 - 原因是每个标签部分的内容渲染起来有些昂贵,所以我不想一次性发送它们并使用普通方法切换'display:none'以显示它们.

我的计划是截取选项卡的select事件,并让该函数通过操作document.location重新加载页面.

select处理程序中,我如何获得新选择的选项卡索引和它对应的html LI对象?

$('#edit_tabs').tabs(  {
        selected: 2,     // which tab to start on when page loads
        select: function(e, ui) {
            var t = $(e.target);
            // alert("data is " +  t.data('load.tabs'));  // undef
            // alert("data is " +  ui.data('load.tabs'));  // undef

            // This gives a numeric index...
            alert( "selected is " + t.data('selected.tabs') )
            // ... but it's the index of the PREVIOUSLY selected tab, not the
            // one the user is now choosing.  
            return true;

            // eventual goal is: 
            // ... document.location= extract-url-from(something); return false;
        }
});

我可以读取的事件或ui对象的属性是否会为新选择的选项卡或其中的锚标记提供索引,ID或对象?

或者是否有更好的方法来使用标签重新加载整个页面?



1> imjoevasquez..:

我会看一下Tabs 的事件.以下内容摘自jQuery文档:

 $('.ui-tabs-nav').bind('tabsselect', function(event, ui) {
     ui.options // options used to intialize this widget
     ui.tab // anchor element of the selected (clicked) tab
     ui.panel // element, that contains the contents of the selected (clicked) tab
     ui.index // zero-based index of the selected (clicked) tab
 });

看起来像ui.tab是要走的路.



2> 小智..:

在jQuery UI中 - v1.9.2

ui.newTab.index()

获取活动选项卡的基数为0的索引



3> 小智..:
select: function(e, ui){var index=ui.index;}

适合我.请参阅:http://api.jqueryui.com/tabs/#events


@Ghommey:差不多2年后,这个答案对我来说仍然有用.
推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有