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

asp.net+JSON+Ajax(基于Prototype框架1.4)做无刷新的2级DropDownList代码实例

2008-08-31 17:58 1076 查看
原文来自:http://www.ajaxsamples.cn/html/21096.html

JSON的数据格式:{"xx":"xx1","yy":[{"yy1":"yyy1"},{"yy2":"yyy2"}]}

后台部分:(合成JSON数据格式)

//这是获取根目录

public string getRootTree()

{

using(SqlDataReader dr=SqlHelper.ExecuteReader(conn,System.Data.CommandType.Text,"select * from MMenu where MParentID=0"))

{

sb.Append("{\"region\":[");

while(dr.Read())

{

sb.Append("{\"");

sb.Append("MID");

sb.Append("\":\"");

sb.Append(dr["MID"].ToString());

sb.Append("\",\"");

sb.Append("MName");

sb.Append("\":\"");

sb.Append(dr["MName"].ToString());

sb.Append("\",\"");

sb.Append("MParentID");

sb.Append("\":\"");

sb.Append(dr["MParentID"].ToString());

sb.Append("\"},");

}

sb.Append("]");

return sb.ToString().Substring(0,sb.ToString().Length-2)+"]}";

}

}

//根据ID获取下级的数据

public string getSubTree(int MID)

{

using(SqlDataReader dr=SqlHelper.ExecuteReader(conn,System.Data.CommandType.Text,"select * from MMenu where MParentID="+MID))

{

sb.Append("{\"region\":[");

while(dr.Read())

{

sb.Append("{\"");

sb.Append("MID");

sb.Append("\":\"");

sb.Append(dr["MID"].ToString());

sb.Append("\",\"");

sb.Append("MName");

sb.Append("\":\"");

sb.Append(dr["MName"].ToString());

sb.Append("\",\"");

sb.Append("MParentID");

sb.Append("\":\"");

sb.Append(dr["MParentID"].ToString());

sb.Append("\"},");

}

sb.Append("]");

return sb.ToString().Substring(0,sb.ToString().Length-2)+"]}";

}

}

前台部分:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<html>

<head>

<title>select</title>

<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">

<meta name="CODE_LANGUAGE" Content="C#">

<meta name=vs_defaultClientScript content="JavaScript">

<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">

<script src=js/prototype-1.4.0.js></script>

<script>

function getJSON()

{

var myoptions={

parameters:"",

method:"get",

onSuccess:function(res){

var myData=eval("("+res.responseText+")");

myData.region.each(function(xx){

$("root").options.add(new Option(xx.MName,xx.MID));

}

);

}

}

new Ajax框架.Request("jsonSelect.aspx?action=root&s"+Math.random(),myoptions);

}

function getSub(id)

{

var myoptions={

parameters:"subID="+id,

method:"get",

onSuccess:function(res){

var myData=eval("("+res.responseText+")");

$("sub").options.length=1;

myData.region.each(function(xx){

$("sub").options.add(new Option(xx.MName,xx.MID));

}

);

}

}

new Ajax框架.Request("jsonSelect.aspx?action=sub&s"+Math.random(),myoptions);

}

</script>

</head>

<body onload=getJSON()>

<form id="Form1" method="post" runat="server">

<select name="a" id="root" onChange="getSub(this.value)">

<option value="" selected>-----请选择类别-----</option>

</select>

<select name="a" id="sub" onChange="getSub(this.value)">

<option value="" selected>-----请选择类别-----</option>

</select>

</form>

</body>

</html>

网站地图:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐