二级级联菜单在我去年的时候就用asp+js做过,而现在忽然拿出来再做的时候我发现我忘记了,而且原来用asp写的程序都找不到了,真晕[emot]sweat[/emot],于是到网上搜,找了半天,我发现网上的写法各异,而且都特别复杂,这么一个二级级联菜单,有必要弄这么复杂吗?于是自己想重新写一个简单的。在经过半个小时左右的思考后,我完成了二级级联菜单的设计和制作。


大体思路是这样的:为了不让先前的页面刷新,我用iframe潜入了一个二级子页面,用来读取数据库中的数据,最后把想要的数据传递给父级页面,完成数据的选择和转移。

主要程序代码如下(部分代码有改动,但不影响功能):
父页面reg.html:

<iframe src=”city.php” width=”300″ height=”22″ frameborder=”0″ scrolling=”no”></iframe> <input name=”city” type=”hidden” id=”city” value=”" />

子页面city.php:

<script language=”javascript” type=”text/javascript”> function goto(n){ this.location.href=”city.php?sh_id=”+n; } </script> <select name=”sh” onchange=”goto(this.value)”> <option>请选择所在省市</option> <?php include_once(”db.php”); $sql=”select * from province order by sh_id asc”; $result=mysql_query($sql); while($row=mysql_fetch_assoc($result)){ ?> <option value=”<? echo $row[”sh_id”];?>” <? if($_GET[”sh_id”]==$row[”sh_id”]){echo 'selected=”selected”‘;}?>><? echo $row[”sh_name”];?></option> <?php } ?> </select> <select name=”city” onchange=”parent.document.getElementById('city').value=this.value”> <option>选择你所在的城市</option> <?php if(!empty($_GET[”sh_id”])){ //echo “ok”; $sql=”select * from city where sh_id=”.$_GET[”sh_id”].” order by city_id asc”; $result=mysql_query($sql); while($row=mysql_fetch_assoc($result)){ ?> <option value=”<? echo $row[”city_name”];?>”><? echo $row[”city_name”];?></option> <?php } } ?> </select>

以上就是使用php+JS制作二级菜单导航的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码