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上加上參數,那就改成了一個多級聯動的下拉選擇菜單了。這里我測試沒有通過,即選擇了大類以后,小類可以跳動,但是改變了的值無法正常顯示。由于時間較晚了,今天就到這了,等測試通過后,我再來說明原因吧
轉載于:https://www.cnblogs.com/deve/archive/2009/04/24/2242748.html
總結
以上是生活随笔為你收集整理的php ajax实现的二级(多级)联动菜单(2008-10-21,11:36:08)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 还呗必须要有信用卡吗
- 下一篇: 工行三类卡可以绑定微信吗