0

我在用

$(".archived").click(function(){
    $(".archivedtable").toggle();
});

我有一堆表将根据选择的导航链接打开,所以如果他们选择 1,将打开 1。可以说他们选择 2,2 也会打开,但 1 仍然打开。所以我想知道如何做到这一点,这样 1 会消失,而 2 会成为新的活跃的。这有意义吗?

更新:

if ($paid == 1 && $securitylevel == 1 && $csvuser != 1){

    $sql = "SELECT firstname, lastname, email, phone, username, password, status, statuschangedate FROM csvdata WHERE memberview =:username ORDER BY lastname";
    $sth= $DBH->prepare($sql);
    $sth->execute(array(':username' => $username));
    $i=0;
    echo "<table class='nonothertable'> 
    <tr class='firsttr' style='background:gray;'>
    <td>First Name </td>
    <td>Last Name </td>
    <td>Email </td>
    <td>Phone </td>
    <td>Username </td>
    <td>Password </td>
    <td>Status </td>
 <td>Status Change Date</td>
    <td>#</td>
     </tr>
    ........

     echo "
      </table>";
}
 <script>
$(".nonother").click(function(){
    $(".nonothertable").toggle();
});
</script>

因此,这些由 PHP 填充的表格,我有很多表格,在每个表格之后都是您在上面看到的脚本,它将打开和关闭特定的表格。我想知道如何,一旦我点击一个,如果有另一个打开,一旦关闭。

它们都在一个 div 中,有些嵌套在另一个 div 中。都有相同的父母。

笔记:

请注意,每个填充的表都有不同的名称和不同的属性来访问它。

4

4 回答 4

0
var $tables = $("table");
var $butons = $(".tableSelector");

$butons.click(function(){
    var $t = $(this);
    var $currentTable = $("."+$t.attr("class")+"table").show();
    $tables.not($currentTable).hide();
});
于 2013-02-11T22:42:34.150 回答
0

当您控制打开和表生成的链接时,我认为您的代码中必须有许多 JS 调用。只需给表一个公共类和不同的名称,并根据表名创建链接。

我在您的示例中没有看到按钮(可点击元素)生成代码,因此您可以执行以下操作:

在循环内部,mytableX 是一个唯一名称(将 X 替换为数据库 ID 或唯一编号:

echo "<a href='#' class='togglers'>Open table X</a>";
echo "<table class='nonothertable' id='mytableX'>"
....
echo "</table>";

默认情况下应该隐藏表格,使用 CSS

.nonothertable { display:none; }

然后,只需调用一次:

<script type="text/javascript">
$(document).ready(function() {
    $(".togglers").click(function(){
        $(".nonothertable").hide(); // Hide all tables
        $(this).next('.nonothertable').show(); // Show the table next to the link we just clicked
        return false; // Avoid page jumps
    });    
});
</script>

每次单击时,我们都会隐藏所有表格,在链接旁边显示一个,并避免页面跳转。只需一个 JS 调用无限数量的表。

工作演示:http: //jsfiddle.net/SHcjQ/

于 2013-02-11T22:46:14.257 回答
0

好的,对于您的特定代码

只需添加

$("table").not(".current-one").hide();

在你的 .toggle();

于 2013-02-11T23:29:31.520 回答
-1

选择一个数字时,我会通过关闭所有表的循环运行,然后我将打开所选表。

于 2013-02-11T22:37:54.637 回答