省市级联js版如何设置从数据库返回的值

近期在做级联的时候,进数据库很简单,但是发现从数据库查出来就很麻烦了,想了各种办法。

经过指导后,发现看懂js代码还是很重要的,三下五除二就解决了。

在这里也为大家提供一下这个方法,能够更好的完成自己的项目。

/*
*	全国三级城联动 js版
*/
function Dsy(){
	this.Items = {};
}
Dsy.prototype.add = function(id,iArray){
	this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id){
	if(typeof(this.Items[id]) == "undefined") return false;
	return true;
}

function change(v){
	var str="0";
	for(i=0;i<v;i++){
		str+=("_"+(document.getElementById(s[i]).selectedIndex-1));
	};
	var ss=document.getElementById(s[v]);
	with(ss){
		length = 0;
		options[0]=new Option(opt0[v],opt0[v]);
		if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v){
			if(dsy.Exists(str)){
				ar = dsy.Items[str];
				for(i=0;i<ar.length;i++){
					options[length]=new Option(ar[i],ar[i]);
				}//end for
				if(v){ options[0].selected = true; }
			}
		}//end if v
		if(++v<s.length){change(v);}
	}//End with
}

<span style="color:#FF0000;">function set(p,c,d){
	document.getElementById(s[0]).value=p;
	change(1);
	document.getElementById(s[1]).value=c;
	change(2);
	document.getElementById(s[2]).value=d;
}</span>

var dsy = new Dsy();

//省略数据

var s=["s_province","s_city","s_county"];//三个select的name
var opt0 = ["省份","地级市","市、县级市"];//初始值
function _init_area(){  //初始化函数
	for(i=0;i<s.length-1;i++){
	  document.getElementById(s[i]).οnchange=new Function("change("+(i+1)+")");
	}
	change(0);
}

代码中红色部分就是我为大家添加的一个方法,将省市区传值进去即可。

注意:

传值的数据一定要与js里面数据文件是一致的。


看懂代码还是很重要的,不然没有目标没有思想的去写代码!!!

希望大家互相交流!!!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值