asp.net jquery json ajax下拉框联动

时间:2015/12/3 16:57:00来源:互联网 作者:flyso 点击: 898 次

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
< head>
    <title></title>
    <script src="../scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            // 第一个下拉框
            GetByJquery("#area", 0);
            // 第一个下拉框项改变
            $("#area").change(function () {
                GetByJquery("#subarea", $("#area").val());
            });

            $("#btnGet").click(function () {
                //$("#area option[text='福田区']").attr("selected", true);   //设置Text值为福田区的项选中
                //$("#area").val("04"); // 设置Value值为04的项选中
                alert($("#area").val() + "--" + $("#area option:selected").text());
                //$(ddlId).find("option:selected").text();
                //$(ddlId).val(4);   // 设置Value值为4的项选中
            });
        });

        function GetByJquery(ddlId, id, selId) {
            $.getJSON("GetArea.aspx", { id: id, rnd: Math.random() }, function (data) {
                $(ddlId).empty(); // 清空
                $("<option value=\"-1\">不限</option>").appendTo($(ddlId)); // 默认

                $.each(data, function (i, item) {
                    $("<option></option>")
                    .val(item.AreaID)
                    .attr("selected", item.AreaID == selId)
                    .text(item.AreaName)
                    .appendTo($(ddlId));
                });
            });
        }
    </script>
< /head>
< body>
    <form id="form1">
    <div>
        <select id="area" name="area">
            <option value="-1">不限</option>
        </select>
        <select id="subarea" name="subarea">
            <option value="-1">不限</option>
        </select>
        <input id="btnGet" name="btnGet" type="button" value="Get" />
    </div>
    </form>
< /body>
< /html>



protected void Page_Load(object sender, EventArgs e)
    {
        string id = Request.QueryString["id"];

        if (!string.IsNullOrEmpty(id))
        {
            Response.Write(GetArea(id));
        }
    }

    private string GetArea(string id)
    {
        List<Area> areaList = new List<Area>();
        string sql = "Select [AreaID],[AreaName],[PID] FROM [Area] Where [PID] = @pid";
        SqlConnection conn = new SqlConnection(@"Server=KONG-PC\MSSQLSERVER8;DataBase=Test;Uid=sa;Pwd=kong521;");
        SqlCommand cmd = new SqlCommand(sql, conn);
        SqlParameter sp = new SqlParameter("@pid", id);
        cmd.Parameters.Add(sp);

        if (conn.State == ConnectionState.Closed)
        {
            conn.Open();
        }

        SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

        while (dr.Read())
        {
            areaList.Add(new Area
            {
                AreaID = dr["AreaID"].ToString(),
                AreaName = dr["AreaName"].ToString(),
                PID = dr["PID"].ToString()
            });
        }

        return Serialize(areaList);
    }

    /// <summary>
    /// Json序列化
    /// </summary>
    /// <typeparam name="T">泛型</typeparam>
    /// <param name="t">泛型</param>
    /// <returns>序列化</returns>
    private string Serialize(object obj)
    {
        JavaScriptSerializer js = new JavaScriptSerializer();
        return js.Serialize(obj);
    }
    /// <summary>
    /// Json反序列化
    /// </summary>
    /// <typeparam name="T">泛型</typeparam>
    /// <param name="strJson">泛型</param>
    /// <returns>反序列化</returns>
    private T Deserialize<T>(string strJson)
    {
        JavaScriptSerializer js = new JavaScriptSerializer();
        return js.Deserialize<T>(strJson);
    }

public class Area
{
    public string AreaID { get; set; }
    public string AreaName { get; set; }
    public string PID { get; set; }
}



Create TABLE [House](
[HouseID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[HouseName] [varchar](200) NOT NULL,
[AreaID] [varchar](20) NOT NULL,
[WriteTime] [datetime] NULL DEFAULT (getdate())
)
GO

Create TABLE [Area](
[AreaID] [varchar](20) NOT NULL PRIMARY KEY,
[AreaName] [varchar](50) NOT NULL,
[PID] [varchar](20) NOT NULL
)
GO

Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'01', N'罗湖区', N'0')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0101', N'莲塘', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0102', N'黄贝岭', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0103', N'水库', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0104', N'布心', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0105', N'翠竹', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0106', N'笋岗', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0107', N'人民南', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0108', N'东门', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0109', N'蔡屋围', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0110', N'银湖', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0111', N'泥岗', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0112', N'洪湖', N'01')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'02', N'福田区', N'0')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0201', N'华强南', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0202', N'园岭', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0203', N'八卦岭', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0204', N'上步', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0205', N'华强', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0206', N'莲花', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0207', N'皇岗', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0208', N'新洲', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0209', N'福田中心区', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0210', N'景田', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0211', N'香蜜湖', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0212', N'梅林', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0213', N'车公庙', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0214', N'保税区', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0215', N'竹子林', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0216', N'石厦', N'02')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'03', N'南山区', N'0')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0301', N'南山中心区', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0302', N'华侨城', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0303', N'科技园', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0304', N'西丽', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0305', N'南头', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0306', N'南油', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0307', N'前海', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0308', N'后海', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0309', N'蛇口', N'03')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'04', N'盐田区', N'0')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0401', N'梅沙', N'04')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0402', N'沙头角', N'04')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'05', N'宝安区', N'0')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0501', N'桃源居', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0502', N'宝安中心区', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0503', N'龙华', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0504', N'西乡', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0505', N'新安', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0506', N'观澜', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0507', N'松岗', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0508', N'福永', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0509', N'沙井', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0510', N'光明', N'05')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'06', N'龙岗区', N'0')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0601', N'坂田', N'06')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0602', N'布吉', N'06')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0603', N'横岗', N'06')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0604', N'龙岗中心城', N'06')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0605', N'南澳', N'06')
Insert [dbo].[Area] ([AreaID], [AreaName], [PID]) VALUES (N'0606', N'平湖', N'06')
GO

Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3