jquery+json实现数据二级联动的方法
作者:bea
本文实例讲述了jquery+json实现数据二级联动的方法。分享给大家供大家参考,具体如下: function GetCityInfo1() { $("#ddlCITY1").empty(); //$("#ddlCOUNTY").empty(); var strId = $("#ddlPROVINCE1").attr("value"); $('#HiddenPro').val(strId); $.get("../ashx/GetCityInfo.ash
本文实例讲述了jquery+json实现数据二级联动的方法。分享给大家供大家参考,具体如下:
function GetCityInfo1()
{
$("#ddlCITY1").empty();
//$("#ddlCOUNTY").empty();
var strId = $("#ddlPROVINCE1").attr("value");
$('#HiddenPro').val(strId);
$.get("../ashx/GetCityInfo.ashx",{ProID:strId,date:new Date().getTime(),proType:"getCity"},function(result)
{
$("#ddlCITY1").append($("<option></option>").val("0").html("--请选择城市--"));
var datas=eval(result);
for(var j in datas)
{
$("#ddlCITY1").append($("<option></option>").val(datas[j].ccode).html(datas[j].cityname));
}
//获取区的信息
//GetCountryInfo();
});
}
后台代码:
if (context.Request.QueryString["ProID"] != null && context.Request.QueryString["proType"] != null)
{
string pcode = Convert.ToString(context.Request.QueryString.GetValues("ProID")[0]);
string strSQL = "select cityname,ccode from CD_CityInfo where pcode='" + pcode + "' ";
//执行T-SQL语句 返回DataTable
DataTable dt = Snell.SnCode.DataBase.SQLServerHelper.Query(strSQL).Tables[0];
StringBuilder sb = new StringBuilder();
sb.Append(CreateJsonParameters(dt));
//根据省份编号获取信息 获取信息
if (sb.Length > 0)
{
context.Response.ClearContent();
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.Write(sb.ToString());
context.Response.End();
}
}
#region 根据Datatable的数据结构转换成json数据
public string CreateJsonParameters(DataTable dt)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
sb.Append("[");
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
//如果值不是最后一个则添加逗号分隔
if (j < dt.Columns.Count - 1)
{
sb.Append(""" + dt.Columns[j].ColumnName.ToString() + "":" + """ + dt.Rows[i][j].ToString() + "",");
}
//如果值为最后个字符则不添加逗号
else if (j == dt.Columns.Count - 1)
{
sb.Append(""" + dt.Columns[j].ColumnName.ToString() + "":" + """ + dt.Rows[i][j].ToString() + """);
}
}
//如果为最后一个值的话 则不添加逗号
if (i == dt.Rows.Count - 1)
{
sb.Append("}");
}
else
{
sb.Append("},");
}
}
sb.Append("]");
return sb.ToString();
}
else { return null; }
}
#endregion
希望本文所述对大家jQuery程序设计有所帮助。
有用 | 无用
function GetCityInfo1()
{
$("#ddlCITY1").empty();
//$("#ddlCOUNTY").empty();
var strId = $("#ddlPROVINCE1").attr("value");
$('#HiddenPro').val(strId);
$.get("../ashx/GetCityInfo.ashx",{ProID:strId,date:new Date().getTime(),proType:"getCity"},function(result)
{
$("#ddlCITY1").append($("<option></option>").val("0").html("--请选择城市--"));
var datas=eval(result);
for(var j in datas)
{
$("#ddlCITY1").append($("<option></option>").val(datas[j].ccode).html(datas[j].cityname));
}
//获取区的信息
//GetCountryInfo();
});
}
后台代码:
if (context.Request.QueryString["ProID"] != null && context.Request.QueryString["proType"] != null)
{
string pcode = Convert.ToString(context.Request.QueryString.GetValues("ProID")[0]);
string strSQL = "select cityname,ccode from CD_CityInfo where pcode='" + pcode + "' ";
//执行T-SQL语句 返回DataTable
DataTable dt = Snell.SnCode.DataBase.SQLServerHelper.Query(strSQL).Tables[0];
StringBuilder sb = new StringBuilder();
sb.Append(CreateJsonParameters(dt));
//根据省份编号获取信息 获取信息
if (sb.Length > 0)
{
context.Response.ClearContent();
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.Write(sb.ToString());
context.Response.End();
}
}
#region 根据Datatable的数据结构转换成json数据
public string CreateJsonParameters(DataTable dt)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
sb.Append("[");
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
//如果值不是最后一个则添加逗号分隔
if (j < dt.Columns.Count - 1)
{
sb.Append(""" + dt.Columns[j].ColumnName.ToString() + "":" + """ + dt.Rows[i][j].ToString() + "",");
}
//如果值为最后个字符则不添加逗号
else if (j == dt.Columns.Count - 1)
{
sb.Append(""" + dt.Columns[j].ColumnName.ToString() + "":" + """ + dt.Rows[i][j].ToString() + """);
}
}
//如果为最后一个值的话 则不添加逗号
if (i == dt.Rows.Count - 1)
{
sb.Append("}");
}
else
{
sb.Append("},");
}
}
sb.Append("]");
return sb.ToString();
}
else { return null; }
}
#endregion
希望本文所述对大家jQuery程序设计有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 整理Javascript数组学习笔记
- Bootstrap每天必学之缩略图与警示窗
- 分享我的jquery实现下拉菜单心的
- jQuery随手笔记之常用的jQuery操作DOM事件
- 整理Javascript基础语法学习笔记
- Jquery操作Ajax方法小结
- jquery+php实现滚动的数字特效
- MVC Ajax Helper或Jquery异步加载部分视图
- Javascript闭包实例详解
- jQuery实现图片上传和裁剪插件Croppie
- javascript高级编程之函数表达式 递归和闭包函数
- javascript实现拖动元素交换位置
- javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
- 通用javascript代码判断版本号是否在版本范围之间
- jQuery如何使用自动触发事件trigger
- js性能优化技巧
- javascript实现C语言经典程序题
- JavaScript学习小结(7)之JS RegExp
- 整理Javascript基础入门学习笔记