• AJAX和WebService实现省市县三级联动


     

    -------------------------------------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
            {
                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层写了一些方法

  • 相关阅读:
    npm常用命令
    React进阶
    ant按需加载、配置configoverrides.js文件、项目中引入less、解决TypeError: this.getOptions is not a function错误
    数组常用api
    react项目实战简单登录注册
    Hoot新特性
    win10全局安装插件却不能全局用,https:/go.microsoft.com/ fwlink/?LinkID=135170禁止运行脚本
    Ant Design编辑表格(类组件)
    反射解决类的复制
    基于Jquery和Ajax的多选框
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3093637.html
Copyright © 2020-2023  润新知