ÎÒÃÇÐèÒªÁ½¸öÒ³Ãæa.aspx¡¢b.aspx£¬aÒ³Ãæ´úÂëÈçÏ£¨¾ÍÓÃ×î³£¼ûµÄ£¬Á½¸öÏÂÀÁбíÁ¬¶¯µÄÀý×Ó£©£º
£¼body£¾
¡¡¡¡£¼form id="Form1" method="post" runat="server"£¾
¡¡¡¡£¼select id="AList" onchange="SetBList()"£¾
¡¡¡¡¡¡¡¡£¼option value="0"£¾A£¼/option£¾
¡¡¡¡¡¡¡¡£¼option value="1"£¾B£¼/option£¾
¡¡¡¡¡¡¡¡£¼option value="3"£¾C£¼/option£¾
¡¡¡¡£¼/select£¾
¡¡¡¡£¼select id="BList"£¾£¼/select£¾
¡¡¡¡£¼/form£¾
£¼/body£¾
¡¡¡¡µ±aÒ³Ãæ´¥·¢onchangeʼþºó£¬ÎÒÃǽøÈëдÔÚaÒ³ÃæµÄSetBList()·½·¨ÖУ¬ÕâÀォÍêÕûµÄjsÁгöÀ´£º
£¼script language="javascript"£¾
var xmlHttp;
function SetBList() {
¡¡¡¡var avalue = document.getElementById("AList").value;
¡¡¡¡var url = "b.aspx?Avalue=" + avalue;
¡¡¡¡createXMLHttpRequest();¡¡// ´´½¨xmlHttp¶ÔÏó
¡¡¡¡xmlHttp.onreadystatechange = handleStateChange;¡¡// µ±xmlHttp״̬Âë·¢Éú¸Ä±äʱ£¬µ÷ÓÃhandleStateChage·½·¨
¡¡¡¡xmlHttp.open("GET", url, true);¡¡ // GET·½·¨·¢ËÍÇëÇó
¡¡¡¡xmlHttp.send(null);
}
function BListInitial() {
¡¡¡¡// ÏÈÇå¿ÕÒ»ÏÂBListµÄoption
¡¡¡¡clearBList();
¡¡¡¡var blist = document.getElementById("BList");¡¡// »ñÈ¡BList¶ÔÏó
¡¡¡¡var rs = xmlHttp.responseXML.getElementsByTagName("City");¡¡// ´Ó·µ»ØxmlÎĵµÖУ¬¶ÁÈ¡£¼City£¾±êÇ©µÄÊý¾Ý
¡¡¡¡// Õâ¸öÑ»·È¡ÖµµÄµØ·½£¬¿¨ÁËÎÒÒ»»á£¬½«xmlHttp.responseXML´´½¨³ÉÒ»¸öxmlÎĵµ£¬È»ºóÕÒ¶ÁÎĵµµÄ·½·¨£¬µ«ÎÊÌâÊDz»Í¬ä¯ÀÀÆ÷´´½¨xmlÎĵµµÄ·½·¨²»Ò»Ñù
¡¡¡¡for(var i=0;i£¼rs.length;i++) {
¡¡¡¡¡¡¡¡var option = document.createElement("OPTION");
¡¡¡¡¡¡¡¡option.text = rs[i].getElementsByTagName("CityName");
¡¡¡¡¡¡¡¡option.value = rs[i].getElementsByTagName("CityCode");
¡¡¡¡¡¡¡¡blist.options.add(option);
¡¡¡¡}
}
function clearBList() {
¡¡¡¡var ven = document.getElementById("VendorList");
¡¡¡¡while(ven.options.length £¾ 0)
¡¡¡¡¡¡¡¡ven.removeChild(ven.childNodes[0]);
}
function handleStateChange() {
¡¡¡¡if(xmlHttp.readyState == 4) {
¡¡¡¡¡¡¡¡if(xmlHttp.status == 200) {
¡¡¡¡¡¡¡¡¡¡¡¡BListInitial();
¡¡¡¡¡¡¡¡}
¡¡¡¡}
}
function createXMLHttpRequest() {
¡¡¡¡// IE
¡¡¡¡if (window.ActiveXObject) {
¡¡¡¡¡¡¡¡xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
¡¡¡¡}
¡¡¡¡// Mozilla
¡¡¡¡else if (window.XMLHttpRequest) {
¡¡¡¡¡¡¡¡xmlHttp = new XMLHttpRequest();
¡¡¡¡}
}
£¼/script£¾
¡¡¡¡b.aspxÒ³Ãæ½«html²¿·ÖÈ«²¿É¾³ý£¬½ö½öÁôÒ»ÐУº
£¼%@ Page language="c#" Codebehind="b.aspx.cs" AutoEventWireup="false" Inherites="Test.Ajax" %£¾
¡¡¡¡ÔÒòÊÇÎÒÃÇaÒ³ÃæÒªÇ󷵻صÄxmlÎĵµ£¬Òò´Ë£¬ÎÒÃǽ«Html±êÇ©²¿·Öɾ³ý¡£È»ºóÔÚbÒ³ÃæµÄPage_Load·½·¨ÖУ¬¶ÔÊý¾Ý¿â½øÐвÙ×÷£¬È»ºóÊý¾Ýд³ÉxmlµÄ¸ñʽ£¬ÀýÈ磺
// Êý¾Ý¿â²Ù×÷£¬µÃµ½DataTable dt
string xml = "£¼Data£¾";
foreach(DataRow row in dt.Rows)¡¡{
¡¡¡¡xml += "£¼City£¾";
¡¡¡¡xml += "£¼CityName£¾" + row["CityName"] + "£¼/CityName£¾";
¡¡¡¡xml += "£¼CityCode£¾" + row["CityCode"] + "£¼/CityCode£¾";
¡¡¡¡xml += "£¼/City£¾";
}
xml += "£¼/Data£¾";
//¡¡ÇåÒ³Ãæ¸ñʽ£¬Ð´xml
Response.ClearContent();
Response.Cache.SetNoStore();
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Write(xml);
¡¡¡¡ÔÚÕûÌåÔËÐÐ֮ǰ¿ÉÒÔÏȽ«bÒ³Ãæ²âÊÔһϣ¬Èç¹ûµÃµ½ÀàËÆÈçϽá¹û£¬Ôò˵Ã÷£¬Êý¾Ý²¿·ÖÊÇûÎÊÌâµÄ¡£
- £¼Data£¾
¡¡¡¡- £¼Vendor£¾
¡¡¡¡¡¡¡¡£¼VendorId£¾7£¼/VendorId£¾
¡¡¡¡¡¡ £¼VendorName£¾Ç§Ç§£¼/VendorName£¾
¡¡ £¼/Vendor£¾
£¼/Data£¾