完全にオリジナルです テストアドレス: http://www.mlmm.cn/mypage/?name=ceshi テストページコード: コードをコピーします コードは次のとおりです: php+ajax はドロップダウン メニューを動的に生成します <スクリプト言語 ="JavaScript" src="../include/js/regions.js"> フォーム名="form1" メソッド="post" アクション=""> {$regions(中華人民共和国)} ; html>地域関数コード: 引用: コードをコピー コードは次のとおりです: //都道府県、市区町村、都道府県の 3 レベルの連携ドロップダウン メニュー関数地域州.市.県 function地域s($country="中華人民共和国") { > while($r = $db-> fetch_array($result)) $text .= " "; i++; $i++; $text.=""; $i++; value="">市/郡/地区n" ; $text.="郡レベルの都市/郡< ;/select>n"; ,//var ab = 新しい Array(); var xmlHttp; var xmlHTTP; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function createXMLHttpRequesta() { if (window.ActiveXObject) { xmlHttpa = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttpa = new XMLHttpRequest(); } } function startRequest() { createXMLHttpRequest(); createXMLHttpRequesta(); xmlHttp.onreadystatechange = handleStateChange; xmlHttpa.onreadystatechange = handleStateChangearea; document.getElementById('select2').options.length = 0; document.getElementById('select3').options.length = 0; var url = document.form1.select1.value; var qurl = "/regions.php?province="+url+"&time="+new Date().getTime(); xmlHttp.open("GET", qurl, true); xmlHttp.send(null); //setTimeout("startRequest()",2000); } function handleStateChange() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var obj = ドキュメント。 getElementById('select2'); // 将サービスから返される文字列を页面中 ID は select2 の領域 obja = document.getElementById('select3'); // 将サービスから返される文字列を页面中 ID は select3 の領域 eval(xmlHttp.responseText); } } } function handleStateChangearea() { eval(xmlHttpa.responseText); } //var ab = new Array(); function startRequesta() { createXMLHttpRequesta(); xmlHttpa.onreadystatechange = handleStateChangea; document.getElementById('select3').options.length = 0; var url = document.form1.select2.value; var qurl = "/regions.php?city="+url+"&time="+new Date().getTime(); xmlHttpa.open("GET", qurl, true); xmlHttpa.send(null); //setTimeout("startRequest()",2000); }function handleStateChangea() { if(xmlHttpa.readyState == 4) { if(xmlHttpa.status == 200) { var obja = document.getElementById('select 3') eval(xmlHttpa.respon) seテキスト) ; // サーバーから返された文字列をページ内の select3 の領域に書き込みます コードは次のとおりです。 require "common.php" $city; = $city ? $city : ""; $area : ""; グローバル $db; db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE 州='$province' ORDER BY cityid") while( $r = $db->fetch_array($result)) { $ r[city]=iconv('gb2312','UTF-8',$r[city]); echo "obj.options[obj .options.length] = new Option('".$r[city]. "','".$r[市]."');n"; $i++; } $resultarea = $db- >query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE 州=' $province' ORDER BY cityid"); $r = $db->fetch_array($resultarea); $city = $r[city ]; $resulta = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid"); while($ra = $db->fetch_array($ resulta)) { $ra[エリア]=iconv('gb2312', 'UTF-8',$ra[エリア]); echo "obja.options[obja.options.length] = new Option('" .$ra[エリア]."','".$ra[エリア] ."');n"; $i++; } if($city && $province==''){ グローバル $i = 1; >query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid"); while($r = $db->fetch_array($result)) { $r[ area]=iconv('gb2312','UTF-8',$r[エリア]); echo "obja.options[obja.options .length] = new Option('".$r[エリア]."' ,'".$r[エリア]."');n"; $i++; } } ?> 住所情報データベース: phpcms3.0に付属のデータベースを使用します。変更を加えました。このプログラムは phpcms3.0 で直接使用できます。他の場所で使用する場合は、自分で変更してください。 http://www.bkjia.com/PHPjc/317597.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/317597.html技術記事完全にオリジナルのテスト アドレス: http://www.mlmm.cn/mypage/?name=ceshi テスト ページのコード: 次のようにコードをコピーします: html head metahttp-equiv="Content-Type"content="text/html;charset = GB2...