php中用ajax实现二级级联(甚至多级级联)
html中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
省份:
<
select
name
=
"province_id"
onChange
=
"getfid01('showfid01')"
style
=
"border:1px solid #AEBBC4;width:150px;height:260px;"
multiple>
<
option
value
=
"0"
>--请选择省份--</
option
>
<?
php
include('../conn.php');
$
sql
=
"select * from `table` order by `pid` desc"
;
$
query
=
mysql_query
($sql,$conn);
while($
row
=
mysql_fetch_array
($query)){
?>
<
option
value="<?php echo $row['id']?>"><?
php
echo $row['title']?></
option
>
<?
php
}
?>
</
select
>
城市:
<
select
name
=
"city_id"
id
=
"showfid01"
style
=
"border:1px solid #AEBBC4;width:150px;height:260px;"
multiple></
select
>
|
js代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<script type=
"text/javascript"
>
<!--
var
reobj =
null
;
var
http_request =
false
;
if
(window.XMLHttpRequest){
http_request=
new
XMLHttpRequest();
if
(http_request.overrideMimeType){
http_request.overrideMimeType(
"text/xml"
);
}
}
else
if
(window.ActiveXObject){
try
{
http_request=
new
ActiveXObject(
"Msxml2.XMLHttp"
);
}
catch
(e){
try
{
http_request=
new
ActiveXobject(
"Microsoft.XMLHttp"
);
}
catch
(e){}
}
}
function
send_request(url){
if
(!http_request){
window.alert(
"创建XMLHttp对象失败!"
);
return
false
;
}
http_request.open(
"GET"
,url,
true
);
http_request.onreadystatechange=processrequest;
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
getfid01(obj){
var
obj=obj;
var
province_id=document.updoc2013.province_id.value;
document.getElementById(obj).innerHTML=
"<option>loading...</option>"
;
send_request(
"../ajax/get_city.php?province_id="
+province_id);
reobj=obj;
}
//-->
</script>
|
后台php代码(注意编码必须是UTF-8,否则乱码):
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
$province_id
=
$_GET
[
'province_id'
];
if
(!
empty
(
$province_id
) &&
$province_id
!=
'0'
){
include
(
'../conn.php'
);
$sql
=
"select * from `city_table` where `fid`='$province_id' order by `pid` desc"
;
$query
=mysql_query(
$sql
,
$conn
);
while
(
$row
=mysql_fetch_array(
$query
)){
?>
<option value=
"<?php echo $row['id']?>"
><?php
echo
$row
[
'title'
]?></option>
<?php
}
}
?>
|
本文转自许琴 51CTO博客,原文链接:,http://blog.51cto.com/xuqin/1206606如需转载请自行联系原作者