AJAX和WebService實現省市縣三級聯動

來源:互聯網
上載者:User

 

-------------------------------------WebService1.asmx---------------------------------------

// 若要允許使用 ASP.NET AJAX 從指令碼中調用此 Web 服務,請取消對下行的注釋。
     [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
        [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;
        }


----------------------------------HTMLPage1.htm----------------------------

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title></title>
        <style type="text/css">
        select
        {
            width: 150px;
        }
    </style>
    <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();
                $('#searea 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 () {
                $('#searea option:gt(0)').remove();
                $.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>
                <select id="seprovince">
                    <option>--請選擇--</option>
                </select>
                省
                <select id="secity">
                    <option>--請選擇--</option>
                </select>市
                <select id="searea">
                    <option>--請選擇--</option>
                </select>縣
            </td>
        </tr>
    </table>
</body>

</html>




註:用到了三層架構,dal層寫了一些方法

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.