zoukankan      html  css  js  c++  java
  • 用jquery解析JSON数据的方法 多级联动。

    以前写的东西,好久没写忘记了,现在用一下jquery来实现把,为了以后还写备份到博客上来来把。

    效果图:

     

    UI部分



    <asp:DropDownList ID="editccVillage" runat="server" onchange="selectVillage()"></asp:DropDownList>小区
    <asp:DropDownList ID="editccBuildingname" runat="server" onchange="selectUnitnum()"></asp:DropDownList>号楼

    <asp:DropDownList ID="editccUnitnum" runat="server"></asp:DropDownList>单元

     JS部分


    <script type="text/javascript" language="javascript" src="../Js/jquery-1.4.2.min.js"></script>  
    <script type="text/javascript" language="javascript">
        
    function selectVillage() {
            
    var buil = document.getElementById('<%=editccBuildingname.ClientID %>');
            
    var pid = document.getElementById('<%=editccVillage.ClientID %>').value;
            
    var url = "../config/village.ashx?ParentId=" + pid;
            
              $.getJSON(url, 
    function(data){
                    
    for(i in data){
                        
    var varItem = new Option(data[i].Cname, data[i].ID);
                        buil.options.add(varItem);
                        
    //alert(data[i].Cname);
                    }
              });
            }
        
    function selectUnitnum() {
                
    var buil = document.getElementById('<%=editccUnitnum.ClientID %>');
                
    var pid = document.getElementById('<%=editccBuildingname.ClientID %>').value;
                
    var url = "../config/village.ashx?ParentId=" + pid;
                $.getJSON(url, 
    function (data) {
                    
    for (i in data) {
                        
    var varItem = new Option(data[i].Cname, data[i].ID);
                        buil.options.add(varItem);
                       
    //alert(data[i].Cname);
                    }
            });
        }

    </script> 

    village.ashx部分

    <%@ WebHandler Language="C#" Class="village" %>
    using System;
    using System.Web;
    using System.Data;
    using System.Text;
    using Webknife.Data;
    using Webknife.Busi;

    public class village : IHttpHandler {
        
        
    public void ProcessRequest (HttpContext context) {

            
    // 数组   [{"ID":"275","Cname":"A1"},{"ID":"319","Cname":"A2"},{"ID":"322","Cname":"A3"}]
            int ParentId = Convert.ToInt32(context.Request["ParentId"]);
            
    string strSQL = "select Cv_ID,Cv_Name,ParentId,BusType from NT_Clcs_Village where ParentId= " + ParentId + " order by Cv_ID asc";
            DataTable dt 
    =DbHelper.ExecuteDataset(SysConst.DBNAME_XIAOWU, strSQL).Tables[0];
            StringBuilder strClass 
    = new StringBuilder();
            
    if (dt != null)
            {
                strClass.Append(
    "[");
                
    for (int i = 0; i < dt.Rows.Count; i++)
                {
                    strClass.Append(
    "{");
                    strClass.Append(
    "\"ID\":\"" + dt.Rows[i]["Cv_ID"].ToString() + "\",");
                    strClass.Append(
    "\"Cname\":\"" + dt.Rows[i]["Cv_Name"].ToString() + "\"");
                    
    if (i != dt.Rows.Count - 1)
                    {
                        strClass.Append(
    "},");
                    }
                }
            }
            strClass.Append(
    "}");
            strClass.Append(
    "]");
            context.Response.ContentType 
    = "application/json";
            context.Response.ContentEncoding 
    = Encoding.UTF8;
            context.Response.Write(strClass.ToString());
            context.Response.End();
        }
     
        
    public bool IsReusable {
            
    get {
                
    return false;
            }
        }

    }

    城市联动:http://www.cnblogs.com/luomingui/archive/2011/04/02/2003172.html 

    作者:罗敏贵
    邮箱:minguiluo@163.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    day31-python之内置函数
    day30-python之socket
    day28-python之property
    day27-python之迭代器协议
    day26-python之封装
    day25-python之继承组合
    初识AJAX
    写博客的心得
    web前端常见面试题
    学习网络安全的网站
  • 原文地址:https://www.cnblogs.com/luomingui/p/2145622.html
Copyright © 2011-2022 走看看