學習新事物:使用jquery+xml實現ajax簡單一實例

來源:互聯網
上載者:User

調用頁面通過事件觸發

<asp:dropdownlist id="ddlAgentCity" runat="server" onchange="OnAgentCityChange();"></asp:dropdownlist>

對應函數,使用ajax的方式調用上面頁面得到資料集,並差找出對應記錄

 

  1. function OnAgentCityChange()
  2. {
  3.     var city = $("#<%=ddlAgentCity.ClientID%>").val();
  4.     $.ajax(
  5.     {
  6.         url: '<%=PageUtility.GetRootURL()%>/Order/Report/XML/GetCompanyByCity.aspx?City=' + city ,
  7.         type: 'GET',
  8.         dataType: 'xml',
  9.         timeout: 10000,
  10.         error: function()
  11.         {
  12.             alert('Error loading XML document');
  13.         },
  14.         success: function(xml)
  15.         {               
  16.             var str = "";
  17.             $(xml).find("root").find("item").each(function()
  18.             {
  19.                 str += "<option value='" + $(this).attr("id") + "'>" + $(this).attr("name") + "</option>"               
  20.             });
  21.             $("#<%=ddlAgentID.ClientID%>").html(str);                       
  22.         }
  23.     });
  24. }

最後一句是直接賦值 

 

下面是提供查詢資料庫的頁面,會返回xml格式的集合

public class GetCityByAreaRegion : System.Web.UI.Page

private void Page_Load(object sender, System.EventArgs e)
  {
   string strArea = Request.QueryString["Area"];
   if(strArea == null)
    strArea = "";

   XmlDocument doc = new XmlDocument();
   doc.LoadXml("<?xml version=/"1.0/" encoding=/"GB2312/" ?>/n<root/>");

   IList lst;
   if(strArea.Trim() == "")
   {
    lst = City.GetAllCitys();
   }
   else
   {
    lst = City.GetByAreaRegion(strArea);
   }

   StringBuilder buffer = new StringBuilder();

   buffer.Append("<root>");
   buffer.Append("<item code=/"/" name=/"全部/" />");

   for(int i=0;i<lst.Count;i++)
   {
    CityInfo info = (CityInfo)lst[i];

    buffer.AppendFormat("<item code=/"{0}/" name=/"{1}/" />",
     info.strName,info.strCodeName);
   }
   buffer.Append("</root>");

   doc.DocumentElement.InnerXml = buffer.ToString();

   Response.ContentType = "text/xml";
   doc.Save(Response.OutputStream);
   Response.End();
  }

當然記得引入js啦

<script language="javascript" src="<%=PageUtilityTool.GetRootURL()%>/js/jquery.js"></script>

 

jQuery 中文社區 http://wiki.jquery.org.cn/doku.php

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.