首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

高分三级联动下拉框(省、市、地区)

2012-02-14 
高分求一个三级联动下拉框(省、市、地区)在网上找了几个都不太理想简单例子也可以要求在FireFox下面可以正常

高分求一个三级联动下拉框(省、市、地区)
在网上找了几个都不太理想
简单例子也可以
要求在FireFox下面可以正常使用
取值方便

不知道为什么我只能给100分如果对分数有要求解决后我可以转帐1000分之内

[解决办法]
看看这个行吗?
http://www.smallrain.net/js_show.asp?id=948
[解决办法]
http://www.it365cn.com/bbs/topic.asp?topicid=23178
把电子书下载下来,里面有你需要的几个经典联动菜单例子,还有其他有用的资料
[解决办法]
测试页面


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> </title>
<script language= "javascript " src= "city.js "> </script>
<SCRIPT LANGUAGE = JavaScript>
var s=[ "s1 ", "s2 ", "s3 "];
var opt0=[ "省份 ", "地级市 ", "市、县级市、县 "];
function setup(){
for(i=0;i <s.length-1;i++){
document.getElementById(s[i]).onchange=new Function( "change( "+(i+1)+ ") ");}
change(0);}
</SCRIPT>
</head>

<body onload= "setup(); ">
<form name= "frm ">
<select id= "s1 "> <option> 省份 </option> </select>
<select id= "s2 "> <option> 地级市 </option> </select>
<select id= "s3 "> <option> 市、县级市、县 </option> </select>
</form>
</body>
</html>


JS文件下载地址
http://ys-e.ys168.com/ys168up/D3/?city.jsy69z79fdql9f9b3z95bci1fd0fq9b4b0fd2b2b4f6e06e15e24b1b0f2f9bp9b4fc1f9b6z
剩下的就自己搞定吧!!

[解决办法]
哈哈,我看了一下代码,这个问题也简单,只要在js文件里加上这些value:

dsy.add( "0_0_5 ",[ "阜南县 ", "01 ", "阜阳市 ", "02 ", "界首市 ", "03 ", "临泉县 ", "04 ", "太和县 ", "05 ", "颖上县 ", "06 "]);

然后
for(i=0;i <ar.length;i++){
options[length]=new Option(ar[i],ar[i]);
}
改成
for(i=0;i <ar.length;i++){
options[length]=new Option(ar[i],ar[++i]);
}
即可,ohoh~
[解决办法]
http://www.zgycrc.com/Main/index_1.asp
的那个天气预报的部分,点设置之后就有!

中央气象台的网站也有!
[解决办法]
好难啊
[解决办法]
mark
[解决办法]
UP`
[解决办法]
我给你,一个:
Js中写法:
//===================================================================================
//省份-市级联动Bean取得
<bean:define id= "placeKb12List " name= "outputBean " property= "placeKb12Bean " type= "java.util.ArrayList " />
<bean:size id= "size " name= "placeKb12List " />
var arrPlaceKb12List=new Array( <bean:write name= "size "/> );

//省份-市级-县市联动Bean取得
<bean:define id= "placeKb123List " name= "outputBean " property= "placeKb123Bean " type= "java.util.ArrayList " />


<bean:size id= "size1 " name= "placeKb123List " />
var arrPlaceKb123List=new Array( <bean:write name= "size1 "/> );

var i; //循环使用

//省份-市级联动2维数组
for (i=0; i <arrPlaceKb12List.length; i++) {
arrPlaceKb12List[i]=new Array(1);
}
<logic:iterate id= "item " name= "placeKb12List " indexId= "index ">
arrPlaceKb12List[ <bean:write name= "index " /> ][0]= " <bean:write name= "item " property= "placeKb1 " /> ";
arrPlaceKb12List[ <bean:write name= "index " /> ][1]= " <bean:write name= "item " property= "placeKb2 " /> ";
arrPlaceKb12List[ <bean:write name= "index " /> ][2]= " <bean:write name= "item " property= "placeKb2Name " /> ";
</logic:iterate>

//省份-市级-县市联动2维数组
for (i=0; i <arrPlaceKb123List.length; i++) {
arrPlaceKb123List[i]=new Array(1);
}
<logic:iterate id= "item1 " name= "placeKb123List " indexId= "index ">
arrPlaceKb123List[ <bean:write name= "index " /> ][0]= " <bean:write name= "item1 " property= "placeKb1 " /> ";
arrPlaceKb123List[ <bean:write name= "index " /> ][1]= " <bean:write name= "item1 " property= "placeKb2 " /> ";
arrPlaceKb123List[ <bean:write name= "index " /> ][2]= " <bean:write name= "item1 " property= "placeKb3 " /> ";
arrPlaceKb123List[ <bean:write name= "index " /> ][3]= " <bean:write name= "item1 " property= "placeKb3Name " /> ";
</logic:iterate>
//===============================================================================================
function setPlace(t){

var elem1=document.forms[0].placeKb1;
var elem2=document.forms[0].placeKb2;
var elem3=document.forms[0].placeKb3;
var elem2Value=elem2.value;
var elem3Value=elem3.value;
var i;
var j;

if (t=1) {
//有第1个下拉的值,确定第2个下拉列表
elem2.length = 1; //清空下拉列表
j=0;
for (i=0; i <arrPlaceKb12List.length; i++) {
if (elem1.value==arrPlaceKb12List[i][0] || elem1.value== " ") {
//方法1
//elem2.options.add(new Option(arrPlaceKb12List[i][2], arrPlaceKb12List[i][1]));

//方法2
j++;
elem2.options[j] = new Option(arrPlaceKb12List[i][2]);
elem2.options[j].value = arrPlaceKb12List[i][1];
}
}

//选定先前elem2的值,如果相应下拉框没有此值,则flag位为1
var elem2Flag=1;
elem2.value = " ";
for (i=0; i <elem2.length; i++) { //或者用elem2.options.length
if (elem2.options[i].value == elem2Value) elem2Flag = 0;
}
if (elem2Flag == 0) elem2.value = elem2Value;
}

//有第2个下拉的值,确定第3个下拉列表
elem3.length = 1; //清空下拉列表
j=0;
for (i=0; i <arrPlaceKb123List.length; i++) {
if ((elem1.value==arrPlaceKb123List[i][0] && elem2.value==arrPlaceKb123List[i][1] )|| (elem1.value== " " && elem2.value== " ")) {

j++;
elem3.options[j] = new Option(arrPlaceKb123List[i][3]);
elem3.options[j].value = arrPlaceKb123List[i][2];


}
}

//选定先前elem3的值,如果相应下拉框没有此值,则flag位为1
var elem3Flag=1;
elem3.value = " ";
for (i=0; i <elem3.length; i++) { //或者用elem3.options.length
if (elem3.options[i].value == elem3Value) elem3Flag = 0;
}
if (elem3Flag == 0) elem3.value = elem3Value;
}

//===================================================================================
jsp中下面代码:
TR>
<TD>
<bean:define id= "placeKb1List " name= "outputBean " property= "placeKb1Bean " type= "java.util.ArrayList " />
<html:select property= "placeKb1 " onchange= "setPlace(1) ">
<html:options collection= "placeKb1List " property= "placeKb1 " labelProperty= "placeKb1Name " />
</html:select>
</TD>
<TD> 省 </TD>
<TD>
<bean:define id= "placeKb2List " name= "outputBean " property= "placeKb2Bean " type= "java.util.ArrayList " />
<html:select property= "placeKb2 " onchange= "setPlace(2) ">
<html:options collection= "placeKb2List " property= "value " labelProperty= "label " />
</html:select>
</TD>
<TD> 市 </TD>
<TD>
<bean:define id= "placeKb3List " name= "outputBean " property= "placeKb3Bean " type= "java.util.ArrayList " />
<html:select property= "placeKb3 ">
<html:options collection= "placeKb3List " property= "value " labelProperty= "label " />
</html:select>
</TD>
<TD> 县 </TD>
</TR>
====================================================================
placeKb1Bean,placeKb12Bean, placeKb123Bean都是java类,在java中查出来,放到数组中,然后根据省,调用JS,显示该省份的市,同样依次类推,希望能给你有所参考.具体比较简单.


[解决办法]
搂住名字帅

热点排行