zoukankan      html  css  js  c++  java
  • 【2017-6-7】AJAX异步刷新 省市区 三级联动

    这里调用的是jquery1.7.1

    需要数据库的支持

    下面具体看代码

    前面界面只需要三个下拉列表就OK

    <form id="form1" runat="server">
            <div>
                <select id="st1">
                    <option value="null">加载中...</option>
                </select>
                <select id="st2">
                    <option value="null">加载中...</option>
                </select>
                <select id="st3">
                    <option value="null">加载中...</option>
                </select>
            </div>
        </form>

    LINQ to SQL类

    一般处理程序

    public void ProcessRequest(HttpContext context)
        {
            StringBuilder str = new StringBuilder();
            str.Append("[");
            string s = context.Request["ccode"];
            using (ChinaStatesDataContext con = new ChinaStatesDataContext())
            {
                int count = 0;
                List<ChinaStates> clist = con.ChinaStates.Where(r => r.ParentAreaCode == s).ToList();
                foreach (ChinaStates c in clist)
                {
                    if (count > 0)
                    {
                        str.Append(",");
                    }
                    str.Append("{"code":"" + c.AreaCode + "","name":"" + c.AreaName + ""}");
                    count++;
                }
            }
            str.Append("]");
            context.Response.Write(str);
            context.Response.End();
        }
    
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

    外部JS代码,一定记得引用

    insert("1");
    
        function insert(a) {
            if (a == "1") {
                $.ajax({
                    url:"Handler.ashx",
                    data: {"ccode":"0001"},
                    type: "post",
                    dataType: "json",
                    success: function (msg) {
                        $("#st1").empty();
                        for(m in msg)
                        {
                            var str = "<option value='" + msg[m].code + "'>" + msg[m].name + "</option>";
                            $("#st1").append(str);
                        }
                    },
                    error: function () {
                        alert("a");
                    },
                    beforeSend: function () {
                        $("#st1").html('');
                        $("#st1").append("<option value='null'>加载中...</option>");
                    },
                    complete: function () {
                        insert("2");
                    }
                });
            }
            if (a == "2") {
                $.ajax({
                    url: "Handler.ashx",
                    data: { "ccode": $("#st1").val() },
                    type: "post",
                    dataType: "json",
                    success: function (msg) {
                        $("#st2").empty();
                        for (m in msg) {
                            var str = "<option value='" + msg[m].code + "'>" + msg[m].name + "</option>";
                            $("#st2").append(str);
                        }
                    },
                    error: function () {
                        alert("aa");
                    },
                    beforeSend: function () {
                        $("#st2").append("<option value='null'>加载中...</option>");
                    },
                    complete: function () {
                        insert("3");
                    }
                });
            }
            if (a == "3") {
                $.ajax({
                    url: "Handler.ashx",
                    data: { "ccode": $("#st2").val() },
                    type: "post",
                    dataType: "json",
                    success: function (msg) {
                        $("#st3").empty();
                        for (m in msg) {
                            var str = "<option value='" + msg[m].code + "'>" + msg[m].name + "</option>";
                            $("#st3").append(str);
                        }
                    },
                    error: function () {
                        alert("aaa");
                    },
                    beforeSend: function () {
                        $("#st3").append("<option value='null'>加载中...</option>");
                    },
    
                });
            }
        }
        $("#st1").change(function () {
            insert('2');
        });
        $("#st2").change(function () {
            insert('3');
        });
  • 相关阅读:
    spring boot Mybatis 拦截器,实现拼接sql和修改
    spring security 5.x去除默认前缀
    Umengday08-hive数据仓库建设
    Umengday07-flume、kafka与hdfs日志流转
    Umengday01-nginx模块(环境平台搭建)
    Umeng项目day04
    Java代码~~汽车租赁系统
    java基础知识(一)
    自动化测试知识点杂记,后续再进行整理
    博客第一天
  • 原文地址:https://www.cnblogs.com/hanqi0216/p/6963705.html
Copyright © 2011-2022 走看看