<script type="text/javascript" language="javascript"> var selects=[]; selects[0]=new Array( new Option('城市','0')); selects['北京']=new Array( new Option('北京','北京')); selects['上海']=new Array( new Option('上海','上海'), new Option('嘉定','378')); selects['天津']=new Array( new Option('天津','天津')); selects['广东']=new Array( new Option('广州','广州'), new Option('深圳','深圳'), selects['福建']=new Array( new Option('福州','福州'), new Option('厦门','厦门'), new Option('漳州','漳州')); selects['海南']=new Array( new Option('海口','海口'), new Option('东方','东方'), new Option('儋州','儋州')); selects['安徽']=new Array( new Option('合肥','合肥'), new Option('蚌埠','蚌埠'), new Option('巢湖','巢湖'), new Option('池州','池州'), selects['贵州']=new Array( new Option('贵阳','贵阳'), new Option('安顺','安顺'), new Option('六盘水','六盘水'), new Option('遵义','遵义')); selects['甘肃']=new Array( new Option('兰州','兰州'), new Option('定西','定西'), selects['广西']=new Array( new Option('南宁','南宁'), new Option('北海','北海'), selects['河北']=new Array( new Option('石家庄','石家庄'), new Option('沧州','沧州'), new Option('承德','承德'), new Option('张家口','张家口')); selects['河南']=new Array( new Option('郑州','郑州'), new Option('安阳','安阳'), new Option('商丘','商丘'), selects['黑龙江']=new Array( new Option('哈尔滨','哈尔滨'), new Option('大庆','大庆'), new Option('鹤岗','鹤岗'), new Option('黑河','黑河'), new Option('鸡西','鸡西'), new Option('佳木斯','佳木斯'), new Option('牡丹江','牡丹江'), selects['湖北']=new Array( new Option('武汉','武汉'), new Option('黄冈','黄冈'), new Option('黄石','黄石'), new Option('荆门','荆门'), selects['湖南']=new Array( new Option('长沙','长沙'), new Option('常德','常德'), new Option('郴州','郴州'), new Option('衡阳','衡阳'), new Option('怀化','怀化'), new Option('张家界','张家界')); selects['吉林']=new Array( new Option('长春','长春'), new Option('白山','白山'), new Option('白城','白城'), selects['江苏']=new Array( new Option('南京','南京'), new Option('淮安','淮安'), new Option('连云港','连云港'), new Option('常州','常州'), selects['江西']=new Array( new Option('南昌','南昌'), new Option('赣州','赣州'), new Option('吉安','吉安'), selects['辽宁']=new Array( new Option('沈阳','沈阳'), new Option('本溪','本溪'), new Option('阜新','阜新'), selects['内蒙古']=new Array( new Option('呼和浩特','呼和浩特'), new Option('包头','包头'), selects['宁夏']=new Array( new Option('银川','银川'), new Option('石嘴山','石嘴山'), new Option('吴忠','吴忠'), new Option('中卫','中卫'), new Option('固原','固原')); selects['青海']=new Array( new Option('西宁','西宁')); selects['山东']=new Array( new Option('济南','济南'), new Option('德州','德州'), new Option('东营','东营'), new Option('菏泽','菏泽'), new Option('滨州','滨州'), new Option('济宁','济宁'), new Option('莱芜','莱芜'), new Option('聊城','聊城'), new Option('临沂','临沂'), new Option('淄博','淄博')); selects['山西']=new Array( new Option('太原','太原'), new Option('大同','大同'), new Option('阳泉','阳泉'), new Option('运城','运城')); selects['陕西']=new Array( new Option('西安','西安'), new Option('延安','延安'), new Option('榆林','榆林')); selects['四川']=new Array( new Option('成都','成都'), new Option('巴中','巴中'), new Option('南充','南充'), new Option('内江','内江'), new Option('攀枝花','攀枝花'), new Option('遂宁','遂宁'), new Option('雅安','雅安'), selects['西藏']=new Array( new Option('拉萨','拉萨')); selects['新疆']=new Array( new Option('乌鲁木齐','乌鲁木齐'), new Option('克拉玛依','克拉玛依'), new Option('昆明','昆明'), new Option('保山','保山'), new Option('昭通','昭通')); selects['浙江']=new Array( new Option('杭州','杭州'), new Option('湖州','湖州'), new Option('舟山','舟山'), new Option('衢州','衢州')); selects['重庆']=new Array( new Option('重庆','重庆')); function chsel(){ if(document.all.pro.value) { document.all.city.options.length=0; //alert(selects[document.all.pro.value].length); for(var i=0;i<selects[document.all.pro.value].length;i++){ document.all.city.add(selects[document.all.pro.value][i]); } } } </script> <select name="pro" class="zuobj" id="pro" onchange='chsel();'> <option value="0">省份</option> <option value="河南">河南</option> <option value="北京">北京</option> <option value="上海">上海</option> <option value="天津">天津</option> <option value="广东">广东</option> <option value="福建">福建</option> <option value="海南">海南</option> <option value="安徽">安徽</option> <option value="贵州">贵州</option> <option value="甘肃">甘肃</option> <option value="广西">广西</option> <option value="河北">河北</option> <option value="黑龙江">黑龙江</option> <option value="湖北">湖北</option> <option value="湖南">湖南</option> <option value="吉林">吉林</option> <option value="江苏">江苏</option> <option value="江西">江西</option> <option value="辽宁">辽宁</option> <option value="内蒙古">内蒙古</option> <option value="宁夏">宁夏</option> <option value="青海">青海</option> <option value="山东">山东</option> <option value="山西">山西</option> <option value="陕西">陕西</option> <option value="四川">四川</option> <option value="西藏">西藏</option> <option value="新疆">新疆</option> <option value="云南">云南</option> <option value="浙江">浙江</option> <option value="重庆">重庆</option> </select> <select name="city" class="zbj" array="array" id="city"> <option value="城市">城市</option> </select> 这样可以实现联动,但是没有办法保存从数据库里传过来的省市,没有办法默认,默认了省,市没有办法默认,省下面需要出来这个省的全部市。
楼上的挺详细了,楼主可以考虑使用ajax来实现多级联动
<select id="webid" onchange="changeNode()" style="width: 155px" > <option value=""> -- 请选择查询节点 -- </option> <option value="shanghai">上海市</option> <option value="tianjin">天津市</option> <option value="zhejiang">浙江省</option> <option value="fujian">福建省</option> <option value="liaoning">辽宁省</option> <option value="hainan">海南省</option> <option value="hebei">河北省</option> <option value="guangxi">广西壮族自治区</option> <option value="shandong">山东省</option> <option value="jiangsu">江苏省</option> <option value="guangdong">广东省</option> </select><select id="subWebid" style="width: 155px"> <option value=""> -- 请选择查询设备 -- </option> </select> function changeNode() { var id = webid.options[webid.selectedIndex].value; var e = document.getElementById("subWebid"); e.innerHTML=""; e.options[e.options.length] = new Option(" -- 请选择查询设备 -- ",""); if(id=="") { return; } xmltree.getSubNodes(id,function(data){//从后台拿数据,用$分割value和text if(data=="")return; var nodes = new Array(); nodes = data.split(" "); for(var i=0;i<nodes.length-1;i++) { var node = nodes[i].split("$"); e.options[e.options.length]=new Option(node[1],node[0]); } });
的Js 方法此方法根据provinceId 读取城市信息,并显示在城市的下拉框里面
然后根据cityId 选中城市。
var selects=[];
selects[0]=new Array(
new Option('城市','0'));
selects['北京']=new Array(
new Option('北京','北京'));
selects['上海']=new Array(
new Option('上海','上海'),
new Option('嘉定','378'));
selects['天津']=new Array(
new Option('天津','天津'));
selects['广东']=new Array(
new Option('广州','广州'),
new Option('深圳','深圳'),
selects['福建']=new Array(
new Option('福州','福州'),
new Option('厦门','厦门'),
new Option('漳州','漳州'));
selects['海南']=new Array(
new Option('海口','海口'),
new Option('东方','东方'),
new Option('儋州','儋州'));
selects['安徽']=new Array(
new Option('合肥','合肥'),
new Option('蚌埠','蚌埠'),
new Option('巢湖','巢湖'),
new Option('池州','池州'),
selects['贵州']=new Array(
new Option('贵阳','贵阳'),
new Option('安顺','安顺'),
new Option('六盘水','六盘水'),
new Option('遵义','遵义'));
selects['甘肃']=new Array(
new Option('兰州','兰州'),
new Option('定西','定西'),
selects['广西']=new Array(
new Option('南宁','南宁'),
new Option('北海','北海'),
selects['河北']=new Array(
new Option('石家庄','石家庄'),
new Option('沧州','沧州'),
new Option('承德','承德'),
new Option('张家口','张家口'));
selects['河南']=new Array(
new Option('郑州','郑州'),
new Option('安阳','安阳'),
new Option('商丘','商丘'),
selects['黑龙江']=new Array(
new Option('哈尔滨','哈尔滨'),
new Option('大庆','大庆'),
new Option('鹤岗','鹤岗'),
new Option('黑河','黑河'),
new Option('鸡西','鸡西'),
new Option('佳木斯','佳木斯'),
new Option('牡丹江','牡丹江'),
selects['湖北']=new Array(
new Option('武汉','武汉'),
new Option('黄冈','黄冈'),
new Option('黄石','黄石'),
new Option('荆门','荆门'),
selects['湖南']=new Array(
new Option('长沙','长沙'),
new Option('常德','常德'),
new Option('郴州','郴州'),
new Option('衡阳','衡阳'),
new Option('怀化','怀化'),
new Option('张家界','张家界'));
selects['吉林']=new Array(
new Option('长春','长春'),
new Option('白山','白山'),
new Option('白城','白城'),
selects['江苏']=new Array(
new Option('南京','南京'),
new Option('淮安','淮安'),
new Option('连云港','连云港'),
new Option('常州','常州'),
selects['江西']=new Array(
new Option('南昌','南昌'),
new Option('赣州','赣州'),
new Option('吉安','吉安'),
selects['辽宁']=new Array(
new Option('沈阳','沈阳'),
new Option('本溪','本溪'),
new Option('阜新','阜新'),
selects['内蒙古']=new Array(
new Option('呼和浩特','呼和浩特'),
new Option('包头','包头'),
selects['宁夏']=new Array(
new Option('银川','银川'),
new Option('石嘴山','石嘴山'),
new Option('吴忠','吴忠'),
new Option('中卫','中卫'),
new Option('固原','固原'));
selects['青海']=new Array(
new Option('西宁','西宁'));
selects['山东']=new Array(
new Option('济南','济南'),
new Option('德州','德州'),
new Option('东营','东营'),
new Option('菏泽','菏泽'),
new Option('滨州','滨州'),
new Option('济宁','济宁'),
new Option('莱芜','莱芜'),
new Option('聊城','聊城'),
new Option('临沂','临沂'),
new Option('淄博','淄博'));
selects['山西']=new Array(
new Option('太原','太原'),
new Option('大同','大同'),
new Option('阳泉','阳泉'),
new Option('运城','运城'));
selects['陕西']=new Array(
new Option('西安','西安'),
new Option('延安','延安'),
new Option('榆林','榆林'));
selects['四川']=new Array(
new Option('成都','成都'),
new Option('巴中','巴中'),
new Option('南充','南充'),
new Option('内江','内江'),
new Option('攀枝花','攀枝花'),
new Option('遂宁','遂宁'),
new Option('雅安','雅安'),
selects['西藏']=new Array(
new Option('拉萨','拉萨'));
selects['新疆']=new Array(
new Option('乌鲁木齐','乌鲁木齐'),
new Option('克拉玛依','克拉玛依'),
new Option('昆明','昆明'),
new Option('保山','保山'),
new Option('昭通','昭通'));
selects['浙江']=new Array(
new Option('杭州','杭州'),
new Option('湖州','湖州'),
new Option('舟山','舟山'),
new Option('衢州','衢州'));
selects['重庆']=new Array(
new Option('重庆','重庆'));
function chsel(){
if(document.all.pro.value) {
document.all.city.options.length=0;
//alert(selects[document.all.pro.value].length);
for(var i=0;i<selects[document.all.pro.value].length;i++){
document.all.city.add(selects[document.all.pro.value][i]);
} } }
</script> <select name="pro" class="zuobj" id="pro" onchange='chsel();'>
<option value="0">省份</option>
<option value="河南">河南</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="天津">天津</option>
<option value="广东">广东</option>
<option value="福建">福建</option>
<option value="海南">海南</option>
<option value="安徽">安徽</option>
<option value="贵州">贵州</option>
<option value="甘肃">甘肃</option>
<option value="广西">广西</option>
<option value="河北">河北</option>
<option value="黑龙江">黑龙江</option>
<option value="湖北">湖北</option>
<option value="湖南">湖南</option>
<option value="吉林">吉林</option>
<option value="江苏">江苏</option>
<option value="江西">江西</option>
<option value="辽宁">辽宁</option>
<option value="内蒙古">内蒙古</option>
<option value="宁夏">宁夏</option>
<option value="青海">青海</option>
<option value="山东">山东</option>
<option value="山西">山西</option>
<option value="陕西">陕西</option>
<option value="四川">四川</option>
<option value="西藏">西藏</option>
<option value="新疆">新疆</option>
<option value="云南">云南</option>
<option value="浙江">浙江</option>
<option value="重庆">重庆</option>
</select>
<select name="city" class="zbj" array="array" id="city">
<option value="城市">城市</option>
</select>
这样可以实现联动,但是没有办法保存从数据库里传过来的省市,没有办法默认,默认了省,市没有办法默认,省下面需要出来这个省的全部市。
<option value=""> -- 请选择查询节点 -- </option>
<option value="shanghai">上海市</option>
<option value="tianjin">天津市</option>
<option value="zhejiang">浙江省</option>
<option value="fujian">福建省</option>
<option value="liaoning">辽宁省</option>
<option value="hainan">海南省</option>
<option value="hebei">河北省</option>
<option value="guangxi">广西壮族自治区</option>
<option value="shandong">山东省</option>
<option value="jiangsu">江苏省</option>
<option value="guangdong">广东省</option>
</select><select id="subWebid" style="width: 155px">
<option value=""> -- 请选择查询设备 -- </option>
</select>
function changeNode()
{
var id = webid.options[webid.selectedIndex].value;
var e = document.getElementById("subWebid");
e.innerHTML="";
e.options[e.options.length] = new Option(" -- 请选择查询设备 -- ","");
if(id=="")
{
return;
}
xmltree.getSubNodes(id,function(data){//从后台拿数据,用$分割value和text
if(data=="")return;
var nodes = new Array();
nodes = data.split(" ");
for(var i=0;i<nodes.length-1;i++)
{
var node = nodes[i].split("$");
e.options[e.options.length]=new Option(node[1],node[0]);
}
});
}