【问题标题】:Tab keeps returning to the first tab jquery选项卡不断返回到第一个选项卡 jquery
【发布时间】:2013-02-12 02:12:55
【问题描述】:

我有两个标签,第一个只有 gridview,另一个标签有按钮。现在,每当我单击第二个选项卡上的按钮时,它必须根据其功能填充第二个选项卡上的 gridview,它确实已填充,但是页面返回到第一个选项卡,然后我必须单击下一个选项卡以查看填充的 gridview在第二个选项卡中。我听说要让它留在那个标签上,我必须使用 cookie。但我是 jquery 的新手,所以我真的不知道该怎么做。这是我的代码。

 $(function() {
var tabs = $( "#tabs" ).tabs();
 tabs.find( ".ui-tabs-nav" ).sortable({
 axis: "x",
 stop: function() {
 tabs.tabs( "refresh" );
             }
 });
  });

这里是 div:

<div id="tabs" class="tab"> 
          <ul> 
         <li><a href="#tabs-2" >Visitors For Today</a></li> 
         <li><a href="#tabs-1">Reports</a></li> 
          </ul>
    <div id = "tabs-1">
         //some codes
    </div>
    <div id = "tabs-2">
         //somecodes
    </div>



</div>

对不起,我真的不擅长这个,但这是对的吗?

 $(function() {
    var tabs = $( "#tabs" ).tabs({
    cookie: {
               name: 'my-unique-cookie',
               expires: 1,
               path: '/'
                     }
            });
        tabs.find( ".ui-tabs-nav" ).sortable({
            axis: "x",
             stop: function() {
             tabs.tabs( "refresh" );
             }
          });
     });

【问题讨论】:

  • 我假设您使用的是 jQuery UI 选项卡?
  • 是的,先生,我正在使用 jQuery UI 选项卡

标签: jquery asp.net cookies tabs


【解决方案1】:

如你所说,可以使用jquery cookies(http://www.electrictoolbox.com/jquery-cookies/)保存当前标签页的索引,然后在重新加载页面时,将tabs()active选项设置为刚刚保存的索引(http://api.jqueryui.com/tabs/#option-active)。

【讨论】:

    【解决方案2】:

    确实应该像添加对 cookie plugin 的引用一样简单(下载它并将其添加到您的项目中,然后添加本地引用),然后修改您的 tabs() 调用变成这样:

        $("#tabs").tabs({
            cookie: {
                name: 'my-unique-cookie',
                // store cookie for a day, without, it would be a session cookie
                expires: 1,
                path: '/'
            }
        });
    

    您可能希望同时自定义 namepath 选项。选项参考位于 https://github.com/carhartl/jquery-cookie#cookie-options - 保持原样,cookie 将对整个站点有效并命名为 my-unique-cookie

    【讨论】:

      【解决方案3】:

      利用浏览器历史记录和重新加载按钮

      你可以使用 http://www.asual.com/jquery/address/

      观看演示

      http://www.asual.com/jquery/address/samples/express/

      【讨论】:

        【解决方案4】:

        抱歉更新晚了。我已经在不使用 cookie 的情况下解决了这个问题,因为它在 asp 中。事情是这样的:

        $("#tabs").tabs({
        
        activate: function() { 
        
        var selectedTab = $("#tabs").tabs('option', 'active');
        
        $("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
        
        //alert(selectedTab);
        
        },
        
        active: $("#<%= hdnSelectedTab.ClientID %>").val()
        
        }); 
        

        然后在asp上:

        &lt;asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" /&gt;

        希望这会有所帮助.. 感谢您的所有帮助。我无法使用 cookie,因为我发现很难理解对不起,我真的是 jquery 的新手

        注意:我使用的是 jquery-ui 1.9,代码会根据您的版本有所变化

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-30
          • 1970-01-01
          • 2019-02-26
          • 1970-01-01
          相关资源
          最近更新 更多