jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表

对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码。

需求:url:链接     par:ID       sel:下拉列表选择器

//获取下拉列表

function BuildSelectBox(url, par, sel) {
 $(sel).empty();
 $.getJSON(url, { id: par }, function (json, textStatus) {
  for (var i = json.length - 1; i >= 0; i--) {
   $(sel).prepend('')
  };
  $(sel).prepend('')
 });
}

以上代码很简单吧,此问题很easy的解决了。

 Jquery 使用Ajax获取后台返回的Json数据页面处理过程

具体实现过程请看下面代码示例:

 
 
 
  
  
  
 
 
 
<%@ WebHandler Language="C#" Class="jsondata" %> using System; using System.Web; using System.Web.Script.Serialization; using System.IO; using System.Text; using System.Collections.Generic; using Newtonsoft.Json; using System.Data; public class jsondata : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string JsonStr = JsonConvert.SerializeObject(CreateDT()); context.Response.Write(JsonStr); context.Response.End(); } #region 创建测试数据源 //创建DataTable protected DataTable CreateDT() { DataTable tblDatas = new DataTable("Datas"); //序号列 //tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); //tblDatas.Columns[0].AutoIncrement = true; //tblDatas.Columns[0].AutoIncrementSeed = 1; //tblDatas.Columns[0].AutoIncrementStep = 1; //数据列 tblDatas.Columns.Add("IdNumber", Type.GetType("System.String")); tblDatas.Columns.Add("Name", Type.GetType("System.String")); tblDatas.Columns.Add("BirthDate", Type.GetType("System.String")); tblDatas.Columns.Add("Sex", Type.GetType("System.String")); tblDatas.Columns.Add("Wage", Type.GetType("System.Decimal")); tblDatas.Columns.Add("Bonus", Type.GetType("System.Decimal")); //统计列开始 tblDatas.Columns.Add("NeedPay", Type.GetType("System.String"), "Wage+Bonus"); //统计列结束 tblDatas.Columns.Add("Address", Type.GetType("System.String")); tblDatas.Columns.Add("PostCode", Type.GetType("System.String")); //设置身份证号码为主键 tblDatas.PrimaryKey = new DataColumn[] { tblDatas.Columns["IdNumber"] }; tblDatas.Rows.Add(new object[] { "43100000000000", "张三", "1982", "0", 3000, 1000, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { "43100000000001", "李四", "1983", "1", 3500, 1200, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { "43100000000002", "王五", "1984", "1", 4000, 1300, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { "43100000000003", "赵六", "1985", "0", 5000, 1400, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { "43100000000004", "牛七", "1986", "1", 6000, 1500, null, "深圳市", "518000" }); return tblDatas; } #endregion public bool IsReusable { get { return false; } } } <%@ WebHandler Language="C#" Class="jsondata" %> using System; using System.Web; using System.Web.Script.Serialization; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; using System.Data; public class jsondata : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Cache.SetNoStore(); string data = "[{\"key\":\"1\",\"info\":{\"name\":\"222\",\"age\":\"333\",\"sex\":\"444\"}},{\"key\":\"2\",\"info\":{\"name\":\"999\",\"age\":\"000\",\"sex\":\"111\"}}]"; context.Response.Write(new JavaScriptSerializer().Serialize(data)); } public bool IsReusable { get { return false; } } } <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2013.aspx.cs" Inherits="Test2013" %>
    <%@ WebHandler Language="C#" Class="GetPara" %> using System; using System.Web; using System.Data; using System.Collections.Generic; using System.Web.Script.Serialization; public class GetPara : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string SortId = context.Request["sortid"]; string Type = context.Request["type"]; if (Type=="get") { if (!string.IsNullOrEmpty(SortId)) { DataTable dt = MSCL.SqlHelper.GetDataTable("select * from PR_PRODUCTPARAS where sortid='" + SortId + "' "); List list = new List(); for (int i = 0; i < dt.Rows.Count; i++) { Paras a = new Paras(); a.id = dt.Rows[i]["PARAID"].ToString(); a.name = dt.Rows[i]["PARANAME"].ToString(); list.Add(a); } context.Response.Write(new JavaScriptSerializer().Serialize(list)); } } else if (Type == "save") { //反序列化json System.IO.Stream stream = context.Request.InputStream; System.IO.StreamReader sr = new System.IO.StreamReader(stream, System.Text.Encoding.GetEncoding("UTF-8")); string sJson = sr.ReadToEnd(); if (sJson.Contains("&")) { string[] sArr = sJson.Split('&'); for (int i = 0; i < sArr.Length; i++) { string[] sArr1 = sArr[i].Split('='); object id = sArr1[0]; object value = sArr1[1]; } } } else { } } public bool IsReusable { get { return false; } } public struct Paras { public string id; public string name; } }

    以上就是本文的全部内容,希望大家喜欢。

    你可能感兴趣的:(jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表)