var data = {
sichuan:[{name:"成都",value:"chengdu"},{name:"眉山",value:"meishan"},{name:"其他",value:"other"}],
hunan:[{name:"长沙",value:"changsha"},{name:"株洲",value:"zhuzhou"},{name:"其他",value:"other"}],
xizang:[{name:"拉萨",value:"lasa"},{name:"山南",value:"shannan"},{name:"其他",value:"other"}]
}
var qudata = {
chengdu:[{name:"青羊区",value:"qingyang"},{name:"武候区",value:"wuhou"},{name:"其他",value:"qita"}],
meishan:[{name:"A区",value:"aqu"},{name:"B区",value:"bqu"},{name:"其他",value:"qita"}],
lasa:[{name:"AAA区",value:"aaqu"},{name:"BBB区",value:"bbqu"},{name:"其他",value:"qita"}],
other:[{name:"其他",value:"qita"}]
}
function proChange(obj){
var v = document.getElementById("city");
v.options.length = data[obj].length;
for(var i = 0; i < data[obj].length; i ++){
v.options[i] = new Option(data[obj][i].name,data[obj][i].value);
}
} function cityChange(obj){
var v = document.getElementById("qu");
v.options.length = qudata[obj].length;
for(var i = 0; i < data[obj].length; i++){
v.options[i] = new Option(data[obj][i].name,data[obj][i].value);
}
}<select id="province" onchange="proChange(this.value);">
<option value="sichuan">四川</option>
<option value="hunan">湖南</option>
<option value="xizang">西藏</option>
</select>
<select id="city" onchange="cityChange(this.value)">
<option value="">-请选择-</option>
</select>
<select id="qu">
<option value="">-请选择-</option>
</select>
改成下面的吧。 function cityChange(obj){
var v = document.getElementById("qu");
v.options.length = eval("qudata['"+obj+"'].length");
for(var i = 0; i < eval("qudata['"+obj+"'].length"); i++){
v.options[i] = new Option(eval("qudata['"+obj+"'][i].name"),eval("qudata['"+obj+"'][i].value"));
}
}
像这样
还cityChange v.options.length = qudata[obj].length; //这没错。qudata
for(var i = 0; i < data[obj].length; i++){ //到这就变成data???
v.options[i] = new Option(data[obj][i].name,data[obj][i].value);
}
这里有一个联动的,可以看看
var datashi = {
sichuan:[{name:"成都",value:"chengdu"},{name:"简阳",value:"jianyang"}],
hunan:[{name:"长沙",value:"changsha"},{name:"株洲",value:"zhuzhou"}]
}
var dataqu = {
chengdu:[{name:"青羊",value:"qingyang"},{name:"武侯",value:"wuhou"}],
jianyang:[{name:"三岔",value:"sancha"},{name:"董嘉羮",value:"dongjiageng"}],
changsha:[{name:" 长沙1",value:"changsha1"},{name:" 长沙2",value:"changsha2"}],
zhuzhou:[{name:" 株洲1",value:"zhuzhou1"},{name:"株洲2",value:"zhuzhou2"}]
}
function proChang(o){
var u =datashi[o].length;
city.options.length = u;
for(var i = 0; i < u; i++){
city.options[i] = new Option(datashi[o][i].name,datashi[o][i].value)
}
var t = datashi[o][0].value;
var r = dataqu[t].length;
qu.options.length = r;
for(var y = 0; y < r; y++){
qu.options[y] = new Option(dataqu[t][y].name,dataqu[t][y].value);
}
}
function cityChang(obj){
var v = dataqu[obj].length;
qu.options.length = v;
for(var h = 0;h < v; h++){
qu.options[h] = new Option(dataqu[obj][h].name,dataqu[obj][h].value);
}
}
</script>