人本善良

导航

jquery 三级联动

 function refreshAreaInfo() {
        var provinceId = $("#DropDownListProvince").val();
        $.ajax({
            type: "get",
            contentType: "application/json;utf-8",
            url: "AjaxForm.aspx?id=" + provinceId,  //这里是要传递的参数,格式为data:"{paraName:paraValue}"
            dataType: "json",
            success: function(result) {
                $("#DropDownListOther").hide();
                $("#DropDownListCity").children().remove();
                var str = "<option value='-1'>请选择</option>";
                $("#DropDownListCity").append(str);
                for (var i = 0; i < result.length; i++) {
                    var option = "<option value='" + result[i].Id + "'>" + result[i].AreaName + "</option>";
                    $("#DropDownListCity").append(option);
                }
            },
            error: function(msg) {
                alert(msg);
            }
        });
    }

    function GetCityArea() {
        var id = $("#DropDownListCity").val();
        $.ajax({
            type: "post",
            contentType: "application/json;utf-8",
            url: "AjaxForm.aspx/RefreshAreaInfo",  //这里是要传递的参数,格式为data:"{paraName:paraValue}"
            data: "{id:" + id + "}",
            dataType: "json",
            success: function(result) {
                $("#DropDownListOther").show();
                $("#DropDownListOther").children().remove();
                var str = "<option value='-1'>请选择</option>";
                $("#DropDownListOther").append(str);
                result = $.parseJSON(result.d);
                for (var i = 0; i < result.length; i++) {
                    var option = "<option value='" + result[i].Id + "'>" + result[i].AreaName + "</option>";
                    $("#DropDownListOther").append(option);
                }
            },
            error: function(msg) {
                alert(msg);
            }
        });
    }

 

 

<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="DropDownListProvince" runat="server" onchange="refreshAreaInfo()">
        </asp:DropDownList>
        <asp:DropDownList ID="DropDownListCity" runat="server" onchange="GetCityArea()" Width="120">
        </asp:DropDownList>
        <asp:DropDownList ID="DropDownListOther" runat="server">
        </asp:DropDownList>
    </div>
    </form>
</body>

 

 

Ajax后台:

 protected void Page_Load(object sender, EventArgs e)
        {
            string provinceId = Request["id"].ToString();
            string data = GetAreaInfo(int.Parse(provinceId));
            Response.Write(data);
            Response.End();
        }

        private static string GetAreaInfo(int id)
        {
            AreaInfoDataClassesDataContext dataContext = new AreaInfoDataClassesDataContext();
            var result = from c in dataContext.AreaInfo
                         where c.parentId == id
                         select new { c.id, c.areaName };
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            string data = Serializer.Serialize(result);
            return data;
        }

        [WebMethod]
        private static string refreshAreaInfo(int id)
        {
            string data = GetAreaInfo(id);
            return data;
        }

posted on 2012-11-01 23:23  简简单单2018  阅读(174)  评论(0编辑  收藏  举报