php ajax实现的二级(多级)联动菜单(2008-10-21,11:36:08)

首先看文件结构:
/inc 包含function.php文件和数据操作类
/index.php html代码和州的收据获取代码
/ajax_city.php 城市数据的获取代码
/ajax.js httpRequest的建立和异步请求
index.php文件:
ajax联动下拉框菜单
".$rows['state_name']."";
}
?>

please select state first
ajax.js文件:
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject(){
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
for (var i=0; i
function getcityOk(){
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
try{
var classObj = document.getElementById("city");
classObj.innerHTML=response; // 开始的写法,但无论如何也传不到页面中去!→
classObj.outerHTML=response;
}
catch(exception){}
}
}
ajax_city.php文件:
"; //修正追加部分 by zhoz 11130123
foreach ($city as $rows){
echo "".$rows['city_name']."";
}
echo "";
?>
function.php文件:
function get_select_values($table){
global $db;
$query = "select * from $table";
$result = $db->query($query);
if (!$result)
return false;
$num_newslist = $db->num_rows($result);
if ($num_newslist ==0)
return false;
$result = $db->result_to_array($result);
return $result;
}
function get_select_city($state_ID){
global $db;
$query = "select * from city where state_ID=$state_ID";
$result = $db->query($query);
if (!$result)
return false;
$num_newslist = $db->num_rows($result);
if ($num_newslist ==0)
return false;
$result = $db->result_to_array($result);
return $result;
}
总结:
这只是一个简单的联动菜单,但当我把select对象传入函数中去,并在请求的url上加上参数,那就改成了一个多级联动的下拉选择菜单了。这里我测试没有通过,即选择了大类以后,小类可以跳动,但是改变了的值无法正常显示。由于时间较晚了,今天就到这了,等测试通过后,我再来说明原因吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值