1

我有两个标签,第一个只有 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" );
             }
          });
     });
4

4 回答 4

1

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

于 2013-02-12T02:39:05.300 回答
1

它真的应该像添加对cookie 插件的引用一样简单(下载它并将其添加到您的项目中,然后添加本地引用),然后将您的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.

于 2013-02-12T02:51:19.327 回答
0

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

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

观看演示

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

于 2013-02-12T02:21:37.103 回答
0

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

$("#tabs").tabs({

activate: function() { 

var selectedTab = $("#tabs").tabs('option', 'active');

$("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);

//alert(selectedTab);

},

active: $("#<%= hdnSelectedTab.ClientID %>").val()

}); 

然后在 asp 上:

<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />

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

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

于 2013-02-15T03:33:41.827 回答