0

我有一个像这样设置的水平选项卡系统:

<a id="default" class="link" href="#">Tab 1</a>
<a class="link" href="#">Tab 2</a>
<a class="link" href="#">Tab 3</a>

它使用基本的 HTML 和 CSS 工作。

我还有一个表格,每个表格可以处理通过 PHP 进行的排序,这会导致页面重定向,将新的排序类型放在 URL 中。

但是,如果我在第三个选项卡中,然后单击更改排序类型,页面更改并且排序类型更改现在它返回到选项卡 1。我怎样才能让它保留它是哪个选项卡在以前?

4

2 回答 2

1

不知何故,在使用服务器端排序的表上,您正在传递服务器信息。它可能带有表格

<form method="post" action="http://www.example.com/tabs.php?sortTab2=a" />

或链接

<a href="http://www.example.com/tabs.php?sortTab2=a">Sort</a>

无论哪种方式,如果您在查询字符串中添加一个名为 的参数tab,您可以使用 phpid="default"在当前选项卡中打印。

<?php
$activeTab = isset($_REQUEST['tab']) ? $_REQUEST['tab'] : 1;
?>

<a <?php if($activetab == 1) echo 'id="default" '; ?>class="link" href="#">Tab 1</a>
<a <?php if($activetab == 2) echo 'id="default" '; ?>class="link" href="#">Tab 2</a>
<a <?php if($activetab == 3) echo 'id="default" '; ?>class="link" href="#">Tab 3</a>

然后,在每个选项卡中,确保您指定tab查询参数,但您正在调用您的 php 排序。

<form method="post" action="http://www.example.com/tabs.php?sortTab2=a&tab=2" />
<a href="http://www.example.com/tabs.php?sortTab2=a&tab=2">Sort</a>
于 2013-02-06T22:06:26.160 回答
0

您可以使用 jquery,为每个选项卡分配一个 ID,然后使用 .show() 和 .hide() 。如果您有数据,好处包括没有回发和闪电般的快速标签切换。

于 2013-02-06T22:10:42.147 回答