php原生态三级联动_js,php,html实现地区三级联动

window.onload = getProvince;

function createRequest() {//Ajax于PHP交互需要对象

try {

request = new

XMLHttpRequest();//创建一个新的请求对象;

} catch (tryMS) {

try {

request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (otherMS)

{

try

{

request = new

ActiveXObject("Microsoft.XMLHTTP");

}

catch (failed) {

request = null;

}

}

}

return request;

}

function sech(id) {//省市改变时触发,select的onchange事件

var aa =

document.getElementByIdx_x_x_x(id);

if(id=="sheng"){

var value=parseInt(aa.value)+0;//字符串转化成整数

getCity(value);//这里aa.value为省的id

}

if(id=="shi")

{

var

value=parseInt(aa.value)-parseInt(aa.value)0;//这里的value课根据情况修改,我是省市县在一张表里面,所以此处进行了一下处理

getCounty(value);//这里aa.value为市的id

}

}

function getProvince() {//获取所有省

request = createRequest();

if (request == null) {

alert("Unable to create

request");

return;

}

var url=

"getDetails.php?ID=0";//ID=0时传递至PHP时让其获取所有省

request.open("GET", url, true);

request.onreadystatechange =

displayProvince; //设置回调函数

request.send(null);  //发送请求

}

function getCity(id){//获取省对应的市

request = createRequest();

if (request == null) {

alert("Unable to create

request");

return;

}

var url=

"getDetails.php?qq=2&ID="+id;

request.open("GET", url, true);

request.onreadystatechange =

displayCity;

request.send(null);

}

function getCounty(id){//获取市对应的区

request = createRequest();

if (request == null) {

alert("Unable to create

request");

return;

}

var url= "getDetails.php?kk=3&ID=" +

id;

request.open("GET", url, true);

request.onreadystatechange =

displayCounty;

request.send(null);

}

function displayProvince() {//将获取的数据动态增加至select

if (request.readyState == 4) {

if (request.status ==

200) {//200和4是请求操作,不必

var a=new Array;

var b=request.responseText;//将PHP返回的数据赋值给b

var

obj=document.getElementByIdx_x_x_x("sheng");

a=b.split(",");//通过","将这一数据保存在数组a中

document.getElementByIdx_x_x_x("sheng").length=1;

//脚本之家下面这句不完整

for(i=0;i

var a1=a[i].split(".");

obj.options.add(new

Option(a1[1],a1[0]));}

}

}

}

function displayCity() {//将获取的数据动态增加至select

if (request.readyState == 4) {

if (request.status ==

200) {

var a=new Array;

var b=request.responseText;

var

obj=document.getElementByIdx_x_x_x("shi");

a=b.split(",");

document.getElementByIdx_x_x_x("shi").length=1;//重新选择

document.getElementByIdx_x_x_x("xian").length=1;//重新选择

if(document.getElementByIdx_x_x_x("sheng").value!="province"){

for(i=0;i

var a1=a[i].split(".");

obj.options.add(new Option(a1[1],a1[0]));

}

}

}

}

}

function displayCounty() {//将获取的数据增加至select

if (request.readyState == 4) {

if (request.status ==

200) {

var a=new Array;

var

obj=document.getElementByIdx_x_x_x('xian');

var b=request.responseText;

a=b.split(",");

document.getElementByIdx_x_x_x("xian").length=1;

if(document.getElementByIdx_x_x_x("sheng").value!="province"&&document.getElementByIdx_x_x_x("shi").value!="city"){

for(i=0;i &lta.length-1;i++){

var a1=a[i].split(".");

obj.options.add(new

Option(a1[1],a1[0]));//a1[1]是名字,a1[0]是地区数字代号

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值