完全にオリジナルの テスト アドレス: http://www.mlmm.cn/mypage/?name=ceshi テスト ページ コード: コードをコピーコードは次のとおりです。 php Ajax はドロップダウン メニューを動的に生成します <br></head> <br><body> <br><form name="form1" method="post" action=""> <br> <td>{$regions(中華人民共和国)}</td></tr> <br></body> html><br> <br><br>regions 関数コード: </p>QUOTE: <br><br><br><p class="codetitle">コードをコピー<span style="CURSOR: pointer" onclick="doCopy('code14888')"><u> コードは次のとおりです:</u></span>//省、都市、および地域 3 カスケード ドロップダウン メニュー functionregionssprovince.city.region </p>functionregionss($country="中華人民共和国") <p class="codebody" id="code14888">{ <br> global $db; $i = 1; <br> $text="<select id="select1" name="select1" onchange="startRequest()" style="width:90px;"><option value=""> ;県/市/自治区</option>n" ; <br><br> $result = $db->query("SELECT 州 FROM ".TABLE_PROVINCE." WHERE country='$country' ORDER BY 州 ID" ); <br> while($r = $db- >fetch_array($result)) <br> ;/option>; <br> $i ; <br> $i } <br> $text.=" </select>"; <br> $i select2" onchange="startRequesta()" style="width:90px;"><option value="">市/郡/地区</option>< ;/select>n"; <br> $ text.="<select id="select3" name="select3" style="width:90px;"><option value="">郡レベルcity/county</option></select> ;n"; <BR> return $text; <BR><BR>} <BR><br>regions.js コード: <br></p><BR><br><br><br><br>コードをコピー<p class="codetitle"><span style="CURSOR: pointer" onclick="doCopy('code92862')"> コードは次のとおりです:<U><p class="codebody" id="code92862">//var ab = new Array(); <BR>var xmlHttp; <BR>var xmlHttpa; <BR>function createXMLHttpRequest() { <BR> if (window.ActiveXObject) { <BR> xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); <BR> } <BR> else if (window.XMLHttpRequest) { <BR> xmlHttp = new XMLHttpRequest(); <BR> } <BR>} <BR>function createXMLHttpRequesta() { <BR> if (window.ActiveXObject) { <BR> xmlHttpa = new ActiveXObject("Microsoft.XMLHTTP"); <BR> } <BR> else if (window.XMLHttpRequest) { <BR> xmlHttpa = new XMLHttpRequest(); <BR> } <BR>} <br><br>function startRequest() { <BR> createXMLHttpRequest(); <BR> createXMLHttpRequesta(); <BR> xmlHttp.onreadystatechange = handleStateChange; <BR> xmlHttpa.onreadystatechange = handleStateChangearea; <BR> document.getElementById('select2').options.length = 0; <BR> document.getElementById('select3').options.length = 0; <BR> var url = document.form1.select1.value; <BR> var qurl = "/regions.php?province=" url "&time=" new Date().getTime(); <BR> xmlHttp.open("GET", qurl, true); <BR> xmlHttp.send(null); <BR> //setTimeout("startRequest()",2000); <BR>} <br><br>関数 handleStateChange() { <BR> if(xmlHttp.readyState == 4) { <BR> if(xmlHttp.status == 200) { <BR> var obj = document.getElementById ('select2'); // 将サービスが返す文字列を页面中 ID は select2 の領域 <BR> obja = document.getElementById('select3'); // 将サービスから返される文字列を页面中 ID は select3 の領域 <BR> eval(xmlHttp.responseText); <br><br> } <BR> } <BR>} <BR>function handleStateChangearea() { <BR> eval(xmlHttpa.responseText); <BR>} <BR>//var ab = new Array(); <br><br>function startRequesta() { <BR> createXMLHttpRequesta(); <BR> xmlHttpa.onreadystatechange = handleStateChangea; <BR> document.getElementById('select3').options.length = 0; <BR> var url = document.form1.select2.value; <BR> var qurl = "/regions.php?city=" url "&time=" new Date().getTime(); <BR> xmlHttpa.open("GET", qurl, true); <BR> xmlHttpa.send(null); <BR> //setTimeout("startRequest()",2000); <BR>}<br><br>function handleStateChangea() { <BR> if(xmlHttpa.readyState == 4) { <BR> if(xmlHttpa.status == 200) { <BR> var obja = document.getElementBy Id('select3 ' ); <BR> eval(xmlHttpa.responseText); <BR> //サーバーから返された文字列をページ上の select3 の領域に書き込みます <br><br> } 🎜> <BR>データ アイランド リージョン.php ページ コード<BR></p><BR><br><br><br><br>コードをコピー<p class="codetitle"><span style="CURSOR: pointer" onclick="doCopy('code32383')"> コードは次のとおりです。<U></U>< 🎜>requir "common.php"; </span>$city = $city : ""; </p>$area = $area : ""; =''){ <p class="codebody" id="code32383"> グローバル $db; <BR><BR> $result = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE 州=' $province' ORDER BY cityid"); <BR> while($r = $db->fetch_array($result)) <BR> { <BR> $r[city]=iconv('gb2312','UTF-8', $r[city]); <br>echo "obj.options[obj.options.length] = new Option('".$r[city]."','".$r[city]. "') ;n"; <br>$i ; <BR> } <BR> $resultarea = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE 州='$province' ORDER BY cityid "); <BR> $r = $db->fetch_array($resultarea); <BR> $city = $r[city]; <BR> $resulta = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY ." WHERE city='$city' ORDER BY cityid"); <BR> while($ra = $db->fetch_array($resulta)) <BR> { <BR> $ra[エリア]= iconv(' gb2312','UTF-8',$ra[エリア]); <BR>echo "obja.options[obja.options.length] = new Option('".$ra[エリア]."', '". $ra[エリア]."');n"; <BR>$i ; <BR> } <BR><BR><BR>} <BR>if($city && $province=='' ){ <BR> global $db; $i = 1; <br><br> $result = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid "); <BR> while($r = $db->fetch_array($result)) <BR> { <BR> $r[エリア]=iconv('gb2312','UTF-8',$r[エリア]) ; <br>echo "obja.options[obja.options.length] = new Option('".$r[エリア]."','".$r[エリア]."');n" ; >$i ; <br> } <BR>?> <br><br>アドレス情報データベース: <br><br> phpcms3.0 に付属のデータベースを使用します<br><br>このプログラムは phpcms3.0 で直接使用できます。他の場所で使用する場合は、自分で修正してください<br> </p>