PHP+AJAX2级联动下拉列表(简单好用)
时间:2006-12-05
来源:互联网
代码:
var http_request=false;function send_request(url){//初始化,指定处理函数,发送请求的函数
http_request=false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest){//Mozilla浏览器
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){//设置MIME类别
http_request.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject){//IE浏览器
try{
http_request=new ActiveXObject("Msxml2.XMLHttp");
}catch(e){
try{
http_request=new ActiveXobject("Microsoft.XMLHttp");
}catch(e){}
}
}
if(!http_request){//异常,创建对象实例失败
window.alert("创建XMLHttp对象失败!");
return false;
}
http_request.onreadystatechange=processrequest;
//确定发送请求方式,URL,及是否同步执行下段代码
http_request.open("GET",url,true);
http_request.send(null);
}
//处理返回信息的函数
function processrequest(){
if(http_request.readyState==4){//判断对象状态
if(http_request.status==200){//信息已成功返回,开始处理信息
document.getElementById(reobj).innerHTML=http_request.responseText;
}
else{//页面不正常
alert("您所请求的页面不正常!");
}
}
}
function getclass(obj){
var pid=document.form1.select1.value;
document.getElementById(obj).innerHTML="<option>loading...</option>";
send_request('doclass.php?pid='+pid);
reobj=obj;
}
代码:
<option>......</option>代码:
<?phpheader("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码
$pid=$_GET['pid'];
$db=mysql_connect("localhost","root","7529639"); //创建数据库连接
mysql_query("set names 'GBK'");
mysql_select_db("menuclass");
$sql="select classname from menu where parentid=".$pid."";
$result=mysql_query($sql);
//循环列出选项
while($rows=mysql_fetch_array($result)){
echo '<option>';
echo $rows['classname'];
echo "</option>\n";
}
?>
代码:
<script language="javascript" src="ajaxmenu.js"></script><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax2级联动菜单演示</title>
</head>
<body>
<form name="form1">
<select name="select1" id="class1" style="width:100;" onChange="getclass('class2');">
<option selected="selected"></option>
<option value="1">大类1</option>
<option value="2">大类2</option>
</select>
<select name="select2"id="class2" style="width:100;">
</select>
</form>
</body>
</html>
[ 本帖最后由 leehui1983 于 2006-12-4 21:18 编辑 ]

2006-12-4 21:11
正在获取数据

2006-12-4 21:11
获取列表内容

2006-12-4 21:11
获取列表内容

2006-12-4 21:11, 下载次数: 2403
源码下载
作者: leehui1983 发布时间: 2006-12-04
作者: Phzzy 发布时间: 2006-12-04
作者: Phzzy 发布时间: 2006-12-04
作者: leehui1983 发布时间: 2006-12-04
作者: geniuscynic 发布时间: 2006-12-04
作者: leehui1983 发布时间: 2006-12-04


作者: cator 发布时间: 2006-12-05
作者: Nickboy 发布时间: 2006-12-05
作者: 水镜 发布时间: 2006-12-05


作者: fengyun 发布时间: 2006-12-05
作者: gelin_ye 发布时间: 2006-12-29
作者: leehui1983 发布时间: 2006-12-29
作者: leeriver 发布时间: 2007-01-03
作者: leehui1983 发布时间: 2007-01-03
作者: tweak82 发布时间: 2007-01-04
作者: isno 发布时间: 2007-01-04
作者: jingangel 发布时间: 2007-01-30
作者: aqwbjg 发布时间: 2007-02-01

作者: 特蓝克斯 发布时间: 2007-02-01
作者: 77578790 发布时间: 2007-02-04
作者: 天之魔神 发布时间: 2007-02-04
作者: dangki 发布时间: 2007-02-07
作者: szy_session1987 发布时间: 2007-02-07
作者: leehui1983 发布时间: 2007-02-07
作者: hui07 发布时间: 2007-02-08


作者: wayne_wong 发布时间: 2007-04-09
我是初学者有些东西不会,请多多指教
作者: liuguoqing 发布时间: 2007-04-09
作者: goshawk 发布时间: 2007-04-15
某错呀
作者: 逆雪寒 发布时间: 2007-04-17



作者: wukeyuan 发布时间: 2007-04-18
引用:
原帖由 leehui1983 于 2007-2-7 20:54 发表看来把 name属性去掉,只保留id属性不就可以了
<select name="" id="class1" style="width:100;" onChange="getclass('class2');">
<option selected="selected"></option>
<option value="1">大类1</option>
<option value="2">大类2</option>
</select>
<select name="" id="class2" style="width:100;">
function getclass(object){
var pid=document.form1.value;
document.getElementById(object).innerHTML="<option>loading...</option>";
send_request('doclass.php?pid='+pid);
reobj=object;
}
作者: dayu 发布时间: 2007-06-12
作者: sumbo 发布时间: 2007-06-20
作者: gmlee1999 发布时间: 2007-06-20
作者: viphsj 发布时间: 2007-06-30
:o
作者: yiqieqie 发布时间: 2007-07-31
作者: wayne_wong 发布时间: 2007-08-06
作者: chyoqin 发布时间: 2007-08-23
作者: jayliu 发布时间: 2007-09-21
作者: reiko 发布时间: 2007-09-28
作者: wsh 发布时间: 2007-09-30
中的obj在页面里根本就没有,代码能正常你运行过去吗?
作者: true_mariner 发布时间: 2007-10-10
中的obj在页面里根本就没有,代码能正常你运行过去吗?
作者: true_mariner 发布时间: 2007-10-10
作者: linuxroot 发布时间: 2007-10-11
引用:
原帖由 jayliu 于 2007-9-21 00:44 发表实际上LZ的AJAX还没有深入的,真正的返回请求最好是responseXML形式而不是全部element.innerHTML=xml.responseText,然后用DOM对象去解析XML文件,innerHTML不是万能的各种浏览器有自己的解析问题。

作者: jlsd 发布时间: 2007-10-17
作者: zhiyuanhai 发布时间: 2007-10-23
作者: fly1983 发布时间: 2007-10-31



作者: byqy 发布时间: 2007-10-31

作者: collegboy 发布时间: 2007-11-01
不知道这个在IE下的问题怎么可以解决掉~~

作者: yufenglx 发布时间: 2007-11-22
IE下不好用。哪位能解决一下。。。
作者: shher 发布时间: 2008-04-25
作者: ylhou 发布时间: 2008-04-26
作者: ginux 发布时间: 2008-07-26
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28