ajax+php无刷新二级联动下拉菜单(省市联动)源码

http://tech.ddvip.com   2007年08月26日    社区交流

内容摘要:ajax+php无刷新二级联动下拉菜单(省市联动)源码

function addOption(objSelectNow,txt,val)
{
 /// 使用W3C标准语法为SELECT添加Option
 var objOption = document.createElement("OPTION");
 objOption.text= txt;
 objOption.value=val;
 objSelectNow.options.add(objOption);
}
function addOptionGroup(selectId,optGroupString)
{
 var optGroup = optGroupString.split(",");
 var objSelect = document.getElementsByTagName("SELECT");
 var objSelectNow = objSelect[selectId];
 objSelectNow.length = 1;
   /// 成组添加Options
 for (i=1; i<optGroup.length; i++)
 {
 addOption(objSelectNow, optGroup[i], i);
 }
}

  服务端处理程序select.server.php

<?php
Header("Content-type:text/html;charset=GBK");//加入头,防止乱码
$referUrl=$_SERVER['HTTP_REFERER'];//取得上一页面地址
$referHost=$_SERVER['HTTP_HOST'];//取得当前主机名
$referFile=explode("/",$referUrl);//取得上一前面的主机名$referFile[2]
if($referFile[2]!=$referHost)//如果上一页面与本服务端程序不在同一主机则禁止执行
{
exit();
}
$aryTree = file("china.txt");//加载数据文件
foreach($aryTree as $key=>$value)
{
  $province[$key]=explode(",",trim($value));
  $city[$key]=trim($value);
}
$action=$_GET["action"];
if($action=="province"||$action=="")
{//action为province时进行以下操作,输出省
$provinceStr="";
for($i=0;$i<count($province);++$i)
{
  $provinceStr.=$province[$i][0].",";
}
$pattern=",$";
$provinceStr=ereg_replace($pattern,"",$provinceStr);
echo $provinceStr;
}else if($action=="city"){//否则为province时输出市
$id=$_GET["id"];
echo $city[$id];
}else if($action=="district"){//否则为district,输出省市
$id=$_GET["id"];
$id1=$_GET["id1"];
echo $province[$id][0].$province[$id][$id1];
}else{//否则报错
echo "程序出错";
exit();
}
?>

  前台显示页面demo.htm

责编:豆豆技术应用

正在加载评论...