您的位置:首页 > Web前端 > JQuery

学习新事物:使用jquery+xml实现ajax简单实例

2008-10-09 15:49 1006 查看
调用页面通过事件触发

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

对应函数,使用ajax的方式调用上面页面得到数据集,并差找出对应记录

function OnAgentCityChange()

{

var city = $("#<%=ddlAgentCity.ClientID%>").val();

$.ajax(

{

url: '<%=PageUtility.GetRootURL()%>/Order/Report/XML/GetCompanyByCity.aspx?City=' + city ,

type: 'GET',

dataType: 'xml',

timeout: 10000,

error: function()

{

alert('Error loading XML document');

},

success: function(xml)

{

var str = "";

$(xml).find("root").find("item").each(function()

{

str += "<option value='" + $(this).attr("id") + "'>" + $(this).attr("name") + "</option>"

});

$("#<%=ddlAgentID.ClientID%>").html(str);

}

});

}

最后一句是直接赋值

下面是提供查询数据库的页面,会返回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
/js/Common.js">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: