我正在使用
$(".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中。所有人都有同一个父母。
注:
请注意,填充的每个表都有不同的名称和不同的属性来访问它。
答案 0 :(得分:0)
var $tables = $("table");
var $butons = $(".tableSelector");
$butons.click(function(){
var $t = $(this);
var $currentTable = $("."+$t.attr("class")+"table").show();
$tables.not($currentTable).hide();
});
答案 1 :(得分:0)
当您控制打开和关闭的链接时表生成,我认为你的代码中有很多JS调用。只需为表提供一个公共类和一个不同的名称,然后根据表名创建链接。
我没有在您的示例中看到按钮(可点击元素)生成代码,因此您可以执行以下操作:
在循环内部,mytableX是唯一名称(用数据库ID或唯一编号替换X:
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调用无限数量的表。
答案 2 :(得分:0)
好的,您的特定代码
只需添加
$("table").not(".current-one").hide();
在.toggle();
之前答案 3 :(得分:-1)
当选择一个数字时,我会通过一个关闭所有表的循环,然后打开所选的表。