1

我的页面上有一个 JQuery 选项卡,目前当我重新加载或运行一些服务器端代码时,该选项卡会回到第一个,有没有办法让这些选项卡保持不变?我希望我的标签保留在当前选定的标签上,而不是在页面重新加载时返回第一个标签

我的查询:

 $(function () {
           var tabContainers = $('div.tabs > div');
           $('div.tabs ul.tabNavigation a').click(function () {
               tabContainers.hide();
               tabContainers.filter(this.hash).show();
               $('div.tabs ul.tabNavigation a').removeClass('selected');
               $(this).addClass('selected');
               return false;
           }).filter(':first').click();

       });

我的标签:

<div class="tabs">
        <ul class="tabNavigation">
            <li><a href="#Annoucments">Annoucments</a></li>
            <li><a href="#Events">Events</a></li>
            <li><a href="#Photos">Photos</a></li>
            <li><a href="#JobOpportunities">Job Opportunities</a></li>
            <li><a href="#Contacts">Contacts</a></li>
            <li><a href="#Videos">Videos</a></li>
        </ul>
        <div id="Annoucments" class="ContentDIV">
      ..

        </div>
        <div id="Events" class="ContentDIV">

            ..
        </div>

        <div id="Photos" class="ContentDIV">
           ..

        </div>

        <div id="JobOpportunities" class="ContentDIV">
           ..
        </div>

        <div id="Contacts" class="ContentDIV">
           ...

        </div>

        <div id="Videos" class="ContentDIV">
           ..

        </div>

    </div>
4

3 回答 3

0

在您的页面 url 中放置一个 get 参数。所以你可以有 yourpage.aspx?page=1 例如。然后只需将该参数从查询字符串中拉出,然后在您的服务器端代码(最好)或直接在页面上的 jQuery 中应用“选择”类(不是一个很好的解决方案,但它也可以)到适当的选项卡。

编辑(代码示例)

$('#[formID]').onSubmit(function () {
    var tab = $('.selected').prop('href');
    // Append a hidden field to the form containing tab. Example below
    return true;
}

...然后当您从服务器加载页面时,只需查看传递的值并将“选定”类应用于元素。

示例: jQuery - 在提交时添加附加参数(不是 ajax)

于 2012-08-06T06:13:07.867 回答
0

您需要在某处保存用户状态:

  1. Url - 解析 url 并确定它是否是您的选项卡部分。
  2. Cookies - 写入 cookie 用户信息(例如选择的选项卡)。
  3. 会话 - 与 cookie 相同。
  4. 自定义隐藏字段或 asp.net ViewState。
于 2012-08-06T06:13:25.007 回答
0

您可以尝试的一件事是保留一个隐藏字段,以维护当前选定选项卡的 href 值。这样,当有回发时,您可以从该隐藏字段中读取值并选择正确的选项卡。

于 2012-08-06T06:13:33.540 回答