if(result != "") { document.all("DropDownList2").length=0; var piArray = result.split(","); for(var i=0;i<piArray.length;i++) { var ary1 = piArray[i].toString().split("|"); document.all("DropDownList2").options.add(new Option(ary1[1].toString(),ary1[0].toString())); } } else { alert(result); } } //以XML求取DropDownList3的数据 function XmlPost3(obj) { var svalue = obj.value; var webFileUrl = "?cityid=" + svalue; var result = ""; var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); xmlHttp.open("POST", webFileUrl, false); xmlHttp.send(""); result = xmlHttp.responseText;
if(result != "") { document.all("DropDownList3").length=0; var piArray = result.split(","); for(var i=0;i<piArray.length;i++) { var ary1 = piArray[i].toString().split("|"); document.all("DropDownList3").options.add(new Option(ary1[1].toString(),ary1[0].toString())); } } else { alert(result); } } function getData() { var province=document.getElementById("DropDownList1"); var pindex = province.selectedIndex; var pValue = province.options[pindex].value; var pText = province.options[pindex].text;
var city=document.getElementById("DropDownList2"); var cindex = city.selectedIndex; var cValue = city.options[cindex].value; var cText = city.options[cindex].text;
var area=document.getElementById("DropDownList3"); var aindex = area.selectedIndex; var aValue = area.options[aindex].value; var aText = area.options[aindex].text;
down1_bind#region down1_bind private void down1_bind() { string sql = "select provinceID,province from province"; DataSet ds = GetDataSet(sql); this.DropDownList1.DataSource = ds; this.DropDownList1.DataValueField = "provinceID"; this.DropDownList1.DataTextField = "province"; this.DropDownList1.DataBind(); } #endregion Web Form Designer generated code#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } 3.数据库area1.rar 4.Ajax实现无刷新三联动下拉框5.源代码下载XmlHttpselect.rar http://www.cnblogs.com/singlepine/archive/2005/10/31/265678.html
/*联动方法,在写成java脚本后,要保证所取得ID是一致的,比如:
--City表示联动的那个下拉列表--
<select name="City" id="City">
<option value="" selected="selected">请先选择区域</option>
</select>
--Provinces为触发事件的列表--
<select name="Provinces" id="Provinces" onchange="changeselect(this.value)" >
<option value="" selected="selected">选择区域</option>
<option value="1">北京</option><option value="2">上海</option><option value="3">天津</option><option value="4">重庆</option><option value="5">河北</option><option value="6">山西</option><option value="7">内蒙古</option><option value="8">辽宁</option><option value="9">吉林</option><option value="10">黑龙江</option><option value="11">江苏</option><option value="12">浙江</option><option value="13">安徽</option><option value="14">福建</option><option value="15">江西</option><option value="16">山东</option><option value="17">河南</option><option value="18">湖北</option><option value="19">湖南</option><option value="20">广东</option><option value="21">广西</option><option value="22">海南</option><option value="23">四川</option><option value="24">贵州</option><option value="25">云南</option><option value="26">西藏</option><option value="27">陕西</option><option value="28">甘肃</option><option value="29">宁夏</option><option value="30">青海</option><option value="31">新疆</option><option value="32">香港</option><option value="33">澳门</option><option value="34">台湾</option>
</select>
*/
function changeselect(selectValue)
{
document.getElementById("City").length=0;
document.getElementById("City").options[0] = new Option("请选择",""); for(i=0;i<subcat.length;i++)
{
if (subcat[i][0] == selectValue)
{
document.getElementById("City").options[document.getElementById("City").length] = new Option(subcat[i][1], subcat[i][2]);
}
}
}
subcat[0]=new Array("1","东城","1");
subcat[1]=new Array("1","西城","2");
subcat[2]=new Array("1","崇文","3");
subcat[3]=new Array("1","宣武","4");
subcat[4]=new Array("1","朝阳","5");
subcat[5]=new Array("1","丰台","6");
subcat[6]=new Array("1","石景山","7");
subcat[7]=new Array("1","海淀","8");
subcat[8]=new Array("1","门头沟","9");
subcat[9]=new Array("1","房山","10");
subcat[10]=new Array("1","通州","11");
subcat[11]=new Array("1","顺义","12");
subcat[12]=new Array("1","昌平","13");
subcat[13]=new Array("1","大兴","14");
subcat[14]=new Array("1","平谷","15");
subcat[15]=new Array("1","怀柔","16");
subcat[16]=new Array("1","密云","17");
subcat[17]=new Array("1","延庆","18");
subcat[18]=new Array("2","黄浦","19");
subcat[19]=new Array("2","卢湾","20");
subcat[20]=new Array("2","徐汇","21");
subcat[21]=new Array("2","长宁","22");
subcat[22]=new Array("2","静安","23");
subcat[23]=new Array("2","普陀","24");
subcat[24]=new Array("2","闸北","25");
subcat[25]=new Array("2","虹口","26");
subcat[26]=new Array("2","杨浦","27");
subcat[27]=new Array("2","闵行","28");
subcat[28]=new Array("2","宝山","29");
subcat[29]=new Array("2","嘉定","30");
subcat[30]=new Array("2","浦东","31");
subcat[31]=new Array("2","金山","32");
subcat[32]=new Array("2","松江","33");
subcat[33]=new Array("2","青浦","34");
subcat[34]=new Array("2","南汇","35");
subcat[35]=new Array("2","奉贤","36");
subcat[36]=new Array("2","崇明","37");
subcat[37]=new Array("3","和平","38");
subcat[38]=new Array("3","东丽","39");
subcat[39]=new Array("3","河东","40");
subcat[40]=new Array("3","西青","41");
subcat[41]=new Array("3","河西","42");
subcat[42]=new Array("3","津南","43");
subcat[43]=new Array("3","南开","44");
subcat[44]=new Array("3","北辰","45");
subcat[45]=new Array("3","河北","46");
subcat[46]=new Array("3","武清","47");
subcat[47]=new Array("3","红挢","48");
subcat[48]=new Array("3","塘沽","49");
subcat[49]=new Array("3","汉沽","50");
subcat[50]=new Array("3","大港","51");
subcat[51]=new Array("3","宁河","52");
subcat[52]=new Array("3","静海","53");
subcat[53]=new Array("3","宝坻","54");
subcat[54]=new Array("3","蓟县","55");
subcat[55]=new Array("4","万州","56");
subcat[56]=new Array("4","涪陵","57");
subcat[57]=new Array("4","渝中","58");
subcat[58]=new Array("4","大渡口","59");
subcat[59]=new Array("4","江北","60");
subcat[60]=new Array("4","沙坪坝","61");
subcat[61]=new Array("4","九龙坡","62");
subcat[62]=new Array("4","南岸","63");
subcat[63]=new Array("4","北碚","64");
subcat[64]=new Array("4","万盛","65");
subcat[65]=new Array("4","双挢","66");
subcat[66]=new Array("4","渝北","67");
subcat[67]=new Array("4","巴南","68");
subcat[68]=new Array("4","黔江","69");
subcat[69]=new Array("4","长寿","70");
subcat[70]=new Array("4","綦江","71");
subcat[71]=new Array("4","潼南","72");
subcat[72]=new Array("4","铜梁","73");
subcat[73]=new Array("4","大足","74");
subcat[74]=new Array("4","荣昌","75");
subcat[75]=new Array("4","壁山","76");
subcat[76]=new Array("4","梁平","77");
subcat[77]=new Array("4","城口","78");
subcat[78]=new Array("4","丰都","79");
subcat[79]=new Array("4","垫江","80");
subcat[80]=new Array("4","武隆","81");
subcat[81]=new Array("4","忠县","82");
subcat[82]=new Array("4","开县","83");
subcat[83]=new Array("4","云阳","84");
subcat[84]=new Array("4","奉节","85");
subcat[85]=new Array("4","巫山","86");
subcat[86]=new Array("4","巫溪","87");
subcat[87]=new Array("4","石柱","88");
subcat[88]=new Array("4","秀山","89");
subcat[89]=new Array("4","酉阳","90");
subcat[90]=new Array("4","彭水","91");
subcat[91]=new Array("4","江津","92");
subcat[92]=new Array("4","合川","93");
subcat[93]=new Array("4","永川","94");
subcat[94]=new Array("4","南川","95");
subcat[95]=new Array("5","石家庄","96");
subcat[96]=new Array("5","邯郸","97");
subcat[97]=new Array("5","邢台","98");
subcat[98]=new Array("5","保定","99");
subcat[99]=new Array("5","张家口","100");
subcat[100]=new Array("5","承德","101");
subcat[101]=new Array("5","廊坊","102");
subcat[102]=new Array("5","唐山","103");
subcat[103]=new Array("5","秦皇岛","104");
subcat[104]=new Array("5","沧州","105");
subcat[105]=new Array("5","衡水","106");
subcat[106]=new Array("6","太原","107");
subcat[107]=new Array("6","大同","108");
subcat[108]=new Array("6","阳泉","109");
subcat[109]=new Array("6","长治","110");
subcat[110]=new Array("6","晋城","111");
subcat[111]=new Array("6","朔州","112");
subcat[112]=new Array("6","吕梁","113");
subcat[113]=new Array("6","忻州","114");
subcat[114]=new Array("6","晋中","115");
subcat[115]=new Array("6","临汾","116");
subcat[116]=new Array("6","运城","117");
subcat[117]=new Array("7","呼和浩特","118");
subcat[118]=new Array("7","包头","119");
subcat[119]=new Array("7","乌海","120");
subcat[120]=new Array("7","赤峰","121");
subcat[121]=new Array("7","呼伦贝尔盟","122");
subcat[122]=new Array("7","阿拉善盟","123");
subcat[123]=new Array("7","哲里木盟","124");
subcat[124]=new Array("7","兴安盟","125");
subcat[125]=new Array("7","乌兰察布盟","126");
subcat[126]=new Array("7","锡林郭勒盟","127");
subcat[127]=new Array("7","巴彦淖尔盟","128");
subcat[128]=new Array("7","伊克昭盟","129");
subcat[129]=new Array("8","沈阳","130");
subcat[130]=new Array("8","大连","131");
subcat[131]=new Array("8","鞍山","132");
subcat[132]=new Array("8","抚顺","133");
subcat[133]=new Array("8","本溪","134");
subcat[134]=new Array("8","丹东","135");
subcat[135]=new Array("8","锦州","136");
subcat[136]=new Array("8","营口","137");
subcat[137]=new Array("8","阜新","138");
subcat[138]=new Array("8","辽阳","139");
subcat[139]=new Array("8","盘锦","140");
subcat[140]=new Array("8","铁岭","141");
subcat[141]=new Array("8","朝阳","142");
subcat[142]=new Array("8","葫芦岛","143");
subcat[143]=new Array("9","长春","144");
subcat[144]=new Array("9","吉林","145");
subcat[145]=new Array("9","四平","146");
subcat[146]=new Array("9","辽源","147");
subcat[147]=new Array("9","通化","148");
subcat[148]=new Array("9","白山","149");
subcat[149]=new Array("9","松原","150");
subcat[150]=new Array("9","白城","151");
subcat[151]=new Array("9","延边","152");
subcat[152]=new Array("10","哈尔滨","153");
subcat[153]=new Array("10","齐齐哈尔","154");
subcat[154]=new Array("10","牡丹江","155");
subcat[155]=new Array("10","佳木斯","156");
subcat[156]=new Array("10","大庆","157");
subcat[157]=new Array("10","绥化","158");
subcat[158]=new Array("10","鹤岗","159");
subcat[159]=new Array("10","鸡西","160");
subcat[160]=new Array("10","黑河","161");
subcat[161]=new Array("10","双鸭山","162");
subcat[162]=new Array("10","伊春","163");
subcat[163]=new Array("10","七台河","164");
subcat[164]=new Array("10","大兴安岭","165");
subcat[165]=new Array("11","南京","166");
subcat[166]=new Array("11","镇江","167");
subcat[167]=new Array("11","苏州","168");
subcat[168]=new Array("11","南通","169");
subcat[169]=new Array("11","扬州","170");
subcat[170]=new Array("11","盐城","171");
subcat[171]=new Array("11","徐州","172");
subcat[172]=new Array("11","连云港","173");
subcat[173]=new Array("11","常州","174");
subcat[174]=new Array("11","无锡","175");
subcat[175]=new Array("11","宿迁","176");
subcat[176]=new Array("11","泰州","177");
subcat[177]=new Array("11","淮安","178");
subcat[178]=new Array("12","杭州","179");
subcat[179]=new Array("12","宁波","180");
subcat[180]=new Array("12","温州","181");
subcat[181]=new Array("12","嘉兴","182");
subcat[182]=new Array("12","湖州","183");
subcat[183]=new Array("12","绍兴","184");
subcat[184]=new Array("12","金华","185");
subcat[185]=new Array("12","衢州","186");
subcat[186]=new Array("12","舟山","187");
subcat[187]=new Array("12","台州","188");
subcat[188]=new Array("12","丽水","189");
subcat[189]=new Array("13","合肥","190");
subcat[190]=new Array("13","芜湖","191");
subcat[191]=new Array("13","蚌埠","192");
subcat[192]=new Array("13","马鞍山","193");
subcat[193]=new Array("13","淮北","194");
subcat[194]=new Array("13","铜陵","195");
subcat[195]=new Array("13","安庆","196");
subcat[196]=new Array("13","黄山","197");
subcat[197]=new Array("13","滁州","198");
subcat[198]=new Array("13","宿州","199");
subcat[199]=new Array("13","池州","200");
subcat[200]=new Array("13","淮南","201");
subcat[201]=new Array("13","巢湖","202");
subcat[202]=new Array("13","阜阳","203");
subcat[203]=new Array("13","六安","204");
subcat[204]=new Array("13","宣城","205");
subcat[205]=new Array("13","亳州","206");
subcat[206]=new Array("14","福州","207");
subcat[207]=new Array("14","厦门","208");
subcat[208]=new Array("14","莆田","209");
subcat[209]=new Array("14","三明","210");
subcat[210]=new Array("14","泉州","211");
subcat[211]=new Array("14","漳州","212");
subcat[212]=new Array("14","南平","213");
subcat[213]=new Array("14","龙岩","214");
subcat[214]=new Array("14","宁德","215");
subcat[215]=new Array("15","南昌市","216");
subcat[216]=new Array("15","景德镇","217");
subcat[217]=new Array("15","九江","218");
subcat[218]=new Array("15","鹰潭","219");
subcat[219]=new Array("15","萍乡","220");
subcat[220]=new Array("15","新馀","221");
subcat[221]=new Array("15","赣州","222");
subcat[222]=new Array("15","吉安","223");
subcat[223]=new Array("15","宜春","224");
subcat[224]=new Array("15","抚州","225");
subcat[225]=new Array("15","上饶","226");
subcat[226]=new Array("16","济南","227");
subcat[227]=new Array("16","青岛","228");
subcat[228]=new Array("16","淄博","229");
<HEAD>
<title>XmlHttp实现无刷新三联动下拉框</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT style="Z-INDEX: 102; LEFT: 448px; WIDTH: 56px; POSITION: absolute; TOP: 80px; HEIGHT: 24px"
onclick="getData();" type="button" value="保存" id="Button1" name="Button1" runat="server">
<asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 80px" runat="server"
Width="424px"></asp:TextBox>
<asp:DropDownList id="DropDownList2" runat="server" style="Z-INDEX: 103; LEFT: 176px; POSITION: absolute; TOP: 120px"></asp:DropDownList>
<asp:DropDownList id="DropDownList1" runat="server" style="Z-INDEX: 104; LEFT: 16px; POSITION: absolute; TOP: 120px"></asp:DropDownList>
<asp:DropDownList id="DropDownList3" runat="server" style="Z-INDEX: 105; LEFT: 296px; POSITION: absolute; TOP: 120px"></asp:DropDownList><INPUT style="Z-INDEX: 106; LEFT: 8px; WIDTH: 160px; POSITION: absolute; TOP: 176px; HEIGHT: 22px"
type="hidden" size="21" id="hidprovince" runat="server"><INPUT style="Z-INDEX: 107; LEFT: 184px; POSITION: absolute; TOP: 176px" type="hidden"
id="hidcity" runat="server"><INPUT style="Z-INDEX: 108; LEFT: 360px; POSITION: absolute; TOP: 176px" type="hidden"
id="hidarea" runat="server">
<SCRIPT LANGUAGE="JavaScript">
<!--
//以XML求取DropDownList2的数据
function XmlPost2(obj)
{
var svalue = obj.value;
var webFileUrl = "?povinceid=" + svalue;
var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);
xmlHttp.send("");
result = xmlHttp.responseText;
if(result != "")
{
document.all("DropDownList2").length=0;
var piArray = result.split(",");
for(var i=0;i<piArray.length;i++)
{
var ary1 = piArray[i].toString().split("|");
document.all("DropDownList2").options.add(new Option(ary1[1].toString(),ary1[0].toString()));
}
}
else
{
alert(result);
}
}
//以XML求取DropDownList3的数据
function XmlPost3(obj)
{
var svalue = obj.value;
var webFileUrl = "?cityid=" + svalue;
var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);
xmlHttp.send("");
result = xmlHttp.responseText;
if(result != "")
{
document.all("DropDownList3").length=0;
var piArray = result.split(",");
for(var i=0;i<piArray.length;i++)
{
var ary1 = piArray[i].toString().split("|");
document.all("DropDownList3").options.add(new Option(ary1[1].toString(),ary1[0].toString()));
}
}
else
{
alert(result);
}
}
function getData()
{
var province=document.getElementById("DropDownList1");
var pindex = province.selectedIndex;
var pValue = province.options[pindex].value;
var pText = province.options[pindex].text;
var city=document.getElementById("DropDownList2");
var cindex = city.selectedIndex;
var cValue = city.options[cindex].value;
var cText = city.options[cindex].text;
var area=document.getElementById("DropDownList3");
var aindex = area.selectedIndex;
var aValue = area.options[aindex].value;
var aText = area.options[aindex].text;
var txt=document.getElementById("TextBox1"); document.getElementById("<%=TextBox1.ClientID%>").innerText="省:"+pValue+"|"+pText+"市:"+cValue+"|"+cText+"区:"+aValue+"|"+aText;
document.Form1.hidprovince.value=pValue;
document.Form1.hidcity.value=cValue;
document.Form1.hidarea.value=aValue;
}
//-->
</SCRIPT>
</form>
</body>
</HTML>
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.DropDownList DropDownList2;
protected System.Web.UI.WebControls.DropDownList DropDownList3;
protected System.Web.UI.WebControls.TextBox TextBox1;
public static string ConnectionString=System.Configuration .ConfigurationSettings .AppSettings["ConnectionString"];
GetDataSet#region GetDataSet
public static DataSet GetDataSet(string sql)
{
SqlDataAdapter sda =new SqlDataAdapter(sql,ConnectionString);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
#endregion property#region property
private string provinceid
{
get
{
if(ViewState["provinceid"]!=null && ViewState["provinceid"].ToString()!="")
{
return ViewState["provinceid"].ToString();
}
else
{
if(Request["provinceid"]!=null && Request["provinceid"].ToString()!="")
{
return Request["provinceid"];
}
else
{
return "";
}
}
}
set
{
ViewState["provinceid"]=value;
}
}
private string cityid
{
get
{
if(ViewState["cityid"]!=null && ViewState["cityid"].ToString()!="")
{
return ViewState["cityid"].ToString();
}
else
{
if(Request["cityid"]!=null && Request["cityid"].ToString()!="")
{
return Request["cityid"];
}
else
{
return "";
}
}
}
set
{
ViewState["cityid"]=value;
}
}
#endregion Page_Load#region Page_Load
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
this.down1_bind();
this.DropDownList1.Attributes.Add("onchange","XmlPost2(this);");
this.DropDownList2.Attributes.Add("onchange","XmlPost3(this);");
}
if(provinceid != "")
{
this.down2_bind(provinceid);
}
if(cityid != "")
{
this.down3_bind(cityid);
}
}
#endregion down2_bind#region down2_bind
private void down2_bind(string id)
{
string mystr = "";
string sql = "select cityID,city from city where father = '" + id + "'";
DataSet ds = GetDataSet(sql); if(ds.Tables[0].Rows.Count != 0)
{
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
mystr += "," + ds.Tables[0].Rows[i][0].ToString() + "|" + ds.Tables[0].Rows[i][1].ToString();
}
mystr = mystr.Substring(1);
}
this.Response.Write(mystr);
this.Response.End();
}
#endregion down3_bind#region down3_bind
private void down3_bind(string id)
{
string mystr = "";
string sql = "select areaID,area from area where father = '" + id + "'";
DataSet ds = GetDataSet(sql); if(ds.Tables[0].Rows.Count != 0)
{
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
mystr += "," + ds.Tables[0].Rows[i][0].ToString() + "|" + ds.Tables[0].Rows[i][1].ToString();
}
mystr = mystr.Substring(1);
}
this.Response.Write(mystr);
this.Response.End();
} #endregion
down1_bind#region down1_bind
private void down1_bind()
{
string sql = "select provinceID,province from province";
DataSet ds = GetDataSet(sql);
this.DropDownList1.DataSource = ds;
this.DropDownList1.DataValueField = "provinceID";
this.DropDownList1.DataTextField = "province";
this.DropDownList1.DataBind();
} #endregion Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
} /**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
3.数据库area1.rar
4.Ajax实现无刷新三联动下拉框5.源代码下载XmlHttpselect.rar
http://www.cnblogs.com/singlepine/archive/2005/10/31/265678.html