87,904
社区成员
发帖
与我相关
我的任务
分享
<select id="s1" name="s1">
</select>
<select id="s2" name="s2">
</select>
<select id="s3" name="s3">
</select>
<script language="JavaScript">
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]);
if(ar[i]==datafromdb[v])options[i+1].selected = true;//如果是db检索的数据,就选中
}
}
}
if(++v<s.length){change(v);}
}
}
var dsy = new Dsy();
dsy.add("0",["浙江","江苏","山东"]);
dsy.add("0_0",["杭州","温州","湖州"]);
dsy.add("0_0_0",["西湖区","上城区","下城区"]);
dsy.add("0_0_1",["鹿城区","瑞安区"]);
dsy.add("0_0_2",["长兴县","安吉县"]);
dsy.add("0_1",["南京","苏州"]);
dsy.add("0_1_0",["南京区","栖霞区"]);
dsy.add("0_1_1",["苏州区","吴江县"]);
dsy.add("0_2",["济南","青岛"]);
dsy.add("0_2_0",["济南区","历下区"]);
dsy.add("0_2_1",["青岛区","黄岛县"]);
var s=["s1","s2","s3"];
var opt0 = ["省","市","县"];
var datafromdb = ["山东","济南","历下区"]; //db检索的数据
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
setup();
</script>