表格嵌套和隐藏

问题背景:一条访问控制策略包含多条规则信息,将策略信息以列表形式显示,每行显示一条策略信息。要求鼠标点击策略信息行,显示或隐藏该策略包含的所有规则信息。

主要代码:

$sql="select * from policyinfo limit $fromPage $pageSize";

$query=mysql_query($sql); //策略信息分页显示

while($re=mysql_fetch_array($query)){

?>  //控制每行显示一条策略信息

<tr onclick="fade('<?php echo "childtable".$re[Id];?>');">

<td><?php echo $re['PolicyVersion'];?> //输出策略信息

</td>

</tr>

//表格嵌套,显示策略中规则信息

<tr id="<?php echo "childtable".$re[0];?>" style="display:none">

<td colspan="6">

<table>

<?php

$sql1="select * from rprelation where PolicyId='$re[Id]'"; //关系表中与当前预览策略的规则信息

$query1=mysql_query($sql1);

while($row1=mysql_fetch_array($query1))

{ //循环显示多条规则信息

$sql2="select * from rule where Id='$row1[RuleId]'";

$query2=mysql_query($sql2);

$row2=mysql_fetch_array($query2);

//规则信息?>

<tr>

<td><?php echo $row2['AccessType']?>

</td>

</tr>

<?php

}

?>

</table></td>

</tr>

<?php

}

?>

 

<script>//实现隐藏js脚本

function fade(id){

var oa = document.getElementById(id);

if(oa.style.display == "none")

oa.style.display = "";

else

oa.style.display = "none";

}

</script>

注意点:表格的嵌套必须在<td></td>中,html元素的id必须唯一,id必须作为参数传给函数。

posted on 2014-02-20 17:10  炜祎  阅读(317)  评论(0编辑  收藏  举报