落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单
发布时间:2016-11-27 11:01:51 所属栏目:百科 来源:站长网
导读:绝对原创nbsp;nbsp; 测试地址:nbsp;http://www.mlmm.cn/mypage/?name=ceshi 测试页代码: 复制代码 代码如下: lt;htmlgt;nbsp; lt;headgt;nbsp; lt;metanbsp;http-equiv="Content-Type"nbsp;content="text/html;nbsp;charset=gb2312"nbsp;/gt;nbsp; lt;tit
绝对原创nbsp;nbsp; 测试地址:nbsp;http://www.mlmm.cn/mypage/?name=ceshi 测试页代码: 复制代码 代码如下: lt;htmlgt;nbsp; lt;headgt;nbsp; lt;metanbsp;http-equiv="Content-Type"nbsp;content="text/html;nbsp;charset=gb2312"nbsp;/gt;nbsp; lt;titlegt;php+ajax动态生成下拉菜单lt;/titlegt;nbsp; lt;scriptnbsp;language="JavaScript"nbsp;src="../include/js/regions.js"gt;lt;/scriptgt; lt;/headgt;nbsp; lt;bodygt;nbsp; lt;formnbsp;name="form1"nbsp;method="post"nbsp;action=""gt;nbsp; lt;trgt;lt;tdgt;{$regionss(中华人民共和国)}lt;/tdgt;lt;/trgt; lt;/formgt; lt;/bodygt;nbsp; lt;/htmlgt; regionssnbsp;函数代码: QUOTE: 复制代码 代码如下://省市地3级联动下拉菜单函数nbsp;regionssnbsp;省.市.地nbsp;nbsp;nbsp; functionnbsp;regionss($country="中华人民共和国")nbsp;nbsp; {nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;globalnbsp;$db;nbsp;$inbsp;=nbsp;1;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$text="lt;selectnbsp;id="select1"nbsp;name="select1"nbsp;onchange="startRequest()"nbsp;style="width:90px;"gt;lt;optionnbsp;value=""gt;省/市/自治区lt;/optiongt;n";nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$resultnbsp;=nbsp;$db-gt;query("SELECTnbsp;provincenbsp;FROMnbsp;".TABLE_PROVINCE."nbsp;WHEREnbsp;country='$country'nbsp;ORDERnbsp;BYnbsp;provinceid");nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;while($rnbsp;=nbsp;$db-gt;fetch_array($result))nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;{nbsp; nbsp;nbsp;$textnbsp;.=nbsp;"lt;optionnbsp;value=".$r['province']."gt;".$r['province']."lt;/optiongt;nbsp;";nbsp; nbsp;nbsp;$i++;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;}nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$text.="lt;/selectgt;";nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$text.="nbsplt;selectnbsp;id="select2"nbsp;name="select2"nbsp;onchange="startRequesta()"nbsp;style="width:90px;"gt;lt;optionnbsp;value=""gt;市/县/区lt;/optiongt;lt;/selectgt;n";nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$text.="lt;selectnbsp;id="select3"nbsp;name="select3"nbsp;style="width:90px;"gt;lt;optionnbsp;value=""gt;县级市/县lt;/optiongt;lt;/selectgt;n";nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;returnnbsp;$text;nbsp; }nbsp; regions.jsnbsp;的代码: 复制代码 代码如下://varnbsp;abnbsp;=nbsp;newnbsp;Array();nbsp;nbsp; varnbsp;xmlHttp;nbsp;nbsp; varnbsp;xmlHttpa;nbsp; functionnbsp;createXMLHttpRequest()nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;ifnbsp;(window.ActiveXObject)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;xmlHttpnbsp;=nbsp;newnbsp;ActiveXObject("Microsoft.XMLHTTP");nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;elsenbsp;ifnbsp;(window.XMLHttpRequest)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;xmlHttpnbsp;=nbsp;newnbsp;XMLHttpRequest();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp; }nbsp;nbsp; functionnbsp;createXMLHttpRequesta()nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;ifnbsp;(window.ActiveXObject)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;xmlHttpanbsp;=nbsp;newnbsp;ActiveXObject("Microsoft.XMLHTTP");nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;elsenbsp;ifnbsp;(window.XMLHttpRequest)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;xmlHttpanbsp;=nbsp;newnbsp;XMLHttpRequest();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp; }nbsp;nbsp;nbsp; functionnbsp;startRequest()nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;createXMLHttpRequest();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;createXMLHttpRequesta();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttp.onreadystatechangenbsp;=nbsp;handleStateChange;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttpa.onreadystatechangenbsp;=nbsp;handleStateChangearea;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;document.getElementById('select2').options.lengthnbsp;=nbsp;0;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;document.getElementById('select3').options.lengthnbsp;=nbsp;0;nbsp; nbsp;nbsp;nbsp;nbsp;varnbsp;urlnbsp;=nbsp;document.form1.select1.value;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;varnbsp;qurlnbsp;=nbsp;"/regions.php?province="+url+"time="+newnbsp;Date().getTime();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttp.open("GET",nbsp;qurl,nbsp;true);nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttp.send(null);nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;//setTimeout("startRequest()",2000);nbsp;nbsp; }nbsp;nbsp; functionnbsp;handleStateChange()nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;if(xmlHttp.readyStatenbsp;==nbsp;4)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;if(xmlHttp.statusnbsp;==nbsp;200)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;varnbsp;objnbsp;=nbsp;document.getElementById('select2');nbsp;//将服务器返回的字符串写到页面中ID为select2的区域nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;objanbsp;=nbsp;document.getElementById('select3');nbsp;//将服务器返回的字符串写到页面中ID为select3的区域nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;eval(xmlHttp.responseText);nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp; }nbsp;nbsp; functionnbsp;handleStateChangearea()nbsp;{nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;eval(xmlHttpa.responseText);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; }nbsp;nbsp; //varnbsp;abnbsp;=nbsp;newnbsp;Array();nbsp;nbsp; functionnbsp;startRequesta()nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;createXMLHttpRequesta();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttpa.onreadystatechangenbsp;=nbsp;handleStateChangea;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;document.getElementById('select3').options.lengthnbsp;=nbsp;0;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;varnbsp;urlnbsp;=nbsp;document.form1.select2.value;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;varnbsp;qurlnbsp;=nbsp;"/regions.php?city="+url+"time="+newnbsp;Date().getTime();nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttpa.open("GET",nbsp;qurl,nbsp;true);nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;xmlHttpa.send(null);nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;//setTimeout("startRequest()",2000);nbsp;nbsp; }nbsp;nbsp; functionnbsp;handleStateChangea()nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;if(xmlHttpa.readyStatenbsp;==nbsp;4)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;if(xmlHttpa.statusnbsp;==nbsp;200)nbsp;{nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;varnbsp;objanbsp;=nbsp;document.getElementById('select3');nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;eval(xmlHttpa.responseText);nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//将服务器返回的字符串写到页面中ID为select3的区域nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp;nbsp; }nbsp; 数据岛nbsp;regions.phpnbsp;页面代码 复制代码 代码如下:lt;?phpnbsp;nbsp; requirenbsp;"common.php";nbsp;nbsp; $citynbsp;=nbsp;$citynbsp;?nbsp;$citynbsp;:nbsp;"";nbsp; $areanbsp;=nbsp;$areanbsp;?nbsp;$areanbsp;:nbsp;"";nbsp; if($provincenbsp;nbsp;$city==''){nbsp; nbsp;nbsp;globalnbsp;$db;nbsp;$inbsp;=nbsp;1;nbsp; nbsp;nbsp;$resultnbsp;=nbsp;$db-gt;query("SELECTnbsp;DISTINCTnbsp;citynbsp;FROMnbsp;".TABLE_CITY."nbsp;WHEREnbsp;province='$province'nbsp;ORDERnbsp;BYnbsp;cityid");nbsp; nbsp;nbsp;while($rnbsp;=nbsp;$db-gt;fetch_array($result))nbsp; nbsp;nbsp;nbsp;nbsp;{nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$r[city]=iconv('gb2312','UTF-8',$r[city]);nbsp; echonbsp;"obj.options[obj.options.length]nbsp;=nbsp;newnbsp;Option('".$r[city]."','".$r[city]."');n";nbsp;nbsp; $i++;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp; nbsp;nbsp;$resultareanbsp;=nbsp;$db-gt;query("SELECTnbsp;DISTINCTnbsp;citynbsp;FROMnbsp;".TABLE_CITY."nbsp;WHEREnbsp;province='$province'nbsp;ORDERnbsp;BYnbsp;cityid");nbsp; nbsp;nbsp;$rnbsp;=nbsp;$db-gt;fetch_array($resultarea);nbsp; nbsp;nbsp;$citynbsp;=nbsp;$r[city];nbsp; nbsp;nbsp;$resultanbsp;=nbsp;$db-gt;query("SELECTnbsp;DISTINCTnbsp;areanbsp;FROMnbsp;".TABLE_CITY."nbsp;WHEREnbsp;city='$city'nbsp;ORDERnbsp;BYnbsp;cityid");nbsp; nbsp;nbsp;nbsp;while($ranbsp;=nbsp;$db-gt;fetch_array($resulta))nbsp; nbsp;nbsp;nbsp;nbsp;{nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$ra[area]=iconv('gb2312','UTF-8',$ra[area]);nbsp; echonbsp;"obja.options[obja.options.length]nbsp;=nbsp;newnbsp;Option('".$ra[area]."','".$ra[area]."');n";nbsp;nbsp; $i++;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp; }nbsp; if($citynbsp;nbsp;$province==''){nbsp; nbsp;nbsp;nbsp;globalnbsp;$db;nbsp;$inbsp;=nbsp;1;nbsp; nbsp;nbsp;nbsp;$resultnbsp;=nbsp;$db-gt;query("SELECTnbsp;DISTINCTnbsp;areanbsp;FROMnbsp;".TABLE_CITY."nbsp;WHEREnbsp;city='$city'nbsp;ORDERnbsp;BYnbsp;cityid");nbsp; nbsp;nbsp;nbsp;while($rnbsp;=nbsp;$db-gt;fetch_array($result))nbsp; nbsp;nbsp;nbsp;nbsp;{nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;$r[area]=iconv('gb2312','UTF-8',$r[area]);nbsp; echonbsp;"obja.options[obja.options.length]nbsp;=nbsp;newnbsp;Option('".$r[area]."','".$r[area]."');n";nbsp;nbsp; $i++;nbsp; nbsp;nbsp;nbsp;nbsp;}nbsp; }nbsp; ?gt;nbsp; 地址信息数据库: nbsp;nbsp;nbsp;nbsp;nbsp;采用的是phpcms3.0里自带的数据库,我没有进行任何改动 本程序可以在phpcms3.0里直接使用,若在其他地方使用请自己修改 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |