当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用php+javascript实现二级级联菜单的制作

PHP
采用行写方式的聊天程序(之一)
采用行写方式的聊天程序(之二)
采用行写方式的聊天程序(之三)
php.net新闻拦截!
PHP的面向对象编程:开发大型PHP项目的方法(一)
PHP的面向对象编程:开发大型PHP项目的方法(二)
PHP的面向对象编程:开发大型PHP项目的方法(三)
PHP的面向对象编程:开发大型PHP项目的方法(四)
PHP的面向对象编程:开发大型PHP项目的方法(五)
用PHP发送MIME邮件(一)
用PHP发送MIME邮件(二)
用PHP发送MIME邮件(三)
用PHP发送MIME邮件(四)
用PHP发送MIME邮件(五)
用PHP发送MIME邮件(六)
一个广告轮播系统的例子(内含文件上传的方法)
PHP 留言簿(带Oracle数据库分页的显示功能)
PHP/MySQL教程 完整教程
老技术新外衣 如何设计一个包含Ajax技术的PHP网页
打造超酷的PHP数据饼图

PHP 中的 用php+javascript实现二级级联菜单的制作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 135 ::
收藏到网摘: n/a

二级级联菜单在我去年的时候就用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>