三級聯動AJAX

WebService1 頁

 [WebMethod]
        public List<Model.province> GetProvince()
        {
            BLL.province bpro = new BLL.province();
            List<Model.province> list = bpro.GetListModel();
            return list;
        }
        [WebMethod]
        public List<Model.city> GetCItyByPro(string proid)
        {
            BLL.city bcity = new BLL.city();
            List<Model.city> list = bcity.GetListModel("father='" + proid + "'");
            return list;
        }
        [WebMethod]
        public List<Model.area> GetAreaByCity(string cityid)
        {
            BLL.area barea = new BLL.area();
            List<Model.area> list = barea.GetListModel("father='" + cityid + "'");
            return list;
        }

前臺:

<head>
    <title></title>
    <script src="js/Jquery1.7.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $.ajax({
                type: "post",
                contentType: "application/json",
                url: "WebService1.asmx/GetProvince",
                data: "{}",
                success: function (result) {
                    var stroption = '';
                     for (var i = 0; i < result.d.length; i++) {
                        stroption += '<option value=' + result.d[i].provinceID + '>';
                        stroption += result.d[i].provincename;
                        stroption += '</option>';
                    }
                    $('#seprovince').append(stroption);
                }
            })
            $('#seprovince').change(function () {

                $('#secity option:gt(0)').remove();

                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "WebService1.asmx/GetCItyByPro",
                    data: "{proid:'" + $(this).val() + "'}",
                    success: function (result) {
                        var strocity = '';
                        for (var i = 0; i < result.d.length; i++) {
                            strocity += '<option value=' + result.d[i].cityID + '>';
                            strocity += result.d[i].cityname;
                            strocity += '</option>';
                        }
                        $('#secity').append(strocity);
                    }
                })
            })

            $('#secity').change(function () {
                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "WebService1.asmx/GetAreaByCity",
                    data: "{cityid:'" + $(this).val() + "'}",
                    success: function (result) {
                        var stroarea = '';
                        for (var i = 0; i < result.d.length; i++) {
                            stroarea += '<option value=' + result.d[i].areaID + '>';
                            stroarea += result.d[i].areaname;
                            stroarea += '</option>';
                        }
                        $('#searea').append(stroarea);
                    }
                })
            })
        })
    </script>
</head>
<body>
    <table>
        <tr>
            <td>
                用戶名
            </td>
            <td>
                <input id="Text1" type="text" />
            </td>
        </tr>
        <tr>
            <td>
                密碼
            </td>
            <td>
                <input id="Text2" type="text" />
            </td>
        </tr>
        <tr>
            <td>
                確認密碼
            </td>
            <td>
                <input id="Text3" type="text" />
            </td>
        </tr>
        <tr>
            <td>
                郵箱
            </td>
            <td>
                <input id="Text4" type="text" />
            </td>
        </tr>
        <tr>
            <td>
                地址
            </td>
            <td>
                <select id="seprovince">
                    <option>--請選擇--</option>
                </select>
                省
                <select id="secity">
                    <option>--請選擇--</option>
                </select>市
                <select id="searea">
                    <option></option>
                </select>縣
            </td>
        </tr>
    </table>
</body>

BLL 層  province

 public List<Model.province> GetListModel()
        {
            return dal.GetListModel();
        }

BLL 層 city zrea

public List<Model.city> GetListModel(string strsql)
        {
        return dal.GetListModel(strsql);
        }

DAL層 province

public System.Collections.Generic.List<Model.province> GetListModel()
        {
            System.Collections.Generic.List<Model.province> list = new System.Collections.Generic.List<Model.province>();
            DataTable dt = GetList("").Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                Model.province mpro = new Model.province();
                mpro.id = Convert.ToInt32(row["id"]);
                mpro.provinceID=row["provinceID"].ToString();
                mpro.provincename = row["provincename"].ToString();
                list.Add(mpro);
            }
            return list;
        }

DAL層  city

 public System.Collections.Generic.List<Model.city> GetListModel(string strsql)
        {
            System.Collections.Generic.List<Model.city> list = new System.Collections.Generic.List<Model.city>();
            DataTable dt = GetList(strsql).Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                Model.city mcity = new Model.city();
                mcity.id = Convert.ToInt32(row["id"]);
                mcity.cityID = row["cityID"].ToString();
                mcity.cityname = row["cityname"].ToString();
                list.Add(mcity);
            }
            return list;
        }

DAL層  area

 public System.Collections.Generic.List<Model.area> GetListModel(string strsql)
        {
            DataTable dt = GetList(strsql).Tables[0];
            System.Collections.Generic.List<Model.area> list = new System.Collections.Generic.List<Model.area>();
            foreach (DataRow row in dt.Rows)
            {
                Model.area marea = new Model.area()
                {
                    id = Convert.ToInt32(row["id"]),
                    areaID = row["areaID"].ToString(),
                    areaname = row["areaname"].ToString()
                };
                list.Add(marea);
            }
            return list;
        }

MODEL

定義字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章