您的位置:首页 > 编程语言 > PHP开发

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

2009-04-24 15:28 851 查看
首先看文件结构:
/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上加上参数,那就改成了一个多级联动的下拉选择菜单了。这里我测试没有通过,即选择了大类以后,小类可以跳动,但是改变了的值无法正常显示。由于时间较晚了,今天就到这了,等测试通过后,我再来说明原因吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: