• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ajax.net +jquery 无刷新三级联动的实例代码
    POST TIME:2021-10-18 02:56

    复制代码 代码如下:

        !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
        title>/title>
        script src="Jquery1.7.js" type="text/javascript">/script>
        script type="text/javascript">
            $(function () {
                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "WebService1.asmx/loadprovince",
                    data: "{}",
                    success: function (result) {
                        var ping;
                        for (var i = 0; i result.d.length; i++) {
                            ping += "option value=" + result.d[i].provinceID + ">";
                            ping += result.d[i].provincename;
                            ping += "/option>";

                        }
                        $('#Select1').append(ping);

       
                    }

       
                })
                $('#Select1').change(function () {
                    //第二次选时要记得清空市和县中的内容
                    $('#Select2 option:gt(0)').remove();
                    $('#Select3 option:gt(0)').remove();
                    //在省的改变事件里绑定下一个下来列表(要失掉省的id)

                    $.ajax({
                        type: "post",
                        contentType: "application/json",
                        url: "WebService1.asmx/loadcity",
                        data: "{fatherid:'" + $('#Select1 option:selected').val() + "'}",
                        success: function (result) {
                            var str2;
                            for (var i = 0; i result.d.length; i++) {
                                str2 += "option value=" + result.d[i].cityID + ">";
                                str2 += result.d[i].cityname;
                                str2 += "/option>";
                            }

                            $('#Select2').append(str2);
                        }
                    })
                })
                $('#Select2').change(function () {
                    $('#Select3 option:gt(0)').remove();

                    $.ajax({
                        type: "post",
                        contentType: "application/json",
                        url: "WebService1.asmx/loadarea",
                        data: "{fatherid:'" + $('#Select2 option:selected').val() + "'}",
                        success: function (result) {
                            var str3;
                            for (var i = 0; i result.d.length; i++) {
                                str3 += "option value=" + result.d.areaID + ">";
                                str3 += result.d[i].areaname;
                                str3 += result.d[i].father;

                            }
                            $('#Select3').append(str3);
                        }
                    })
                })
            })

        /script>
    /head>
    body>
       省:
        select id="Select1">
            option>--请选择--/option>
        /select>
        市:
        select id="Select2">
            option>--请选择--/option>
        /select>
        县:
        select id="Select3">
            option>--请选择--/option>
        /select>
    /body>
    /html>

    webservice:

    复制代码 代码如下:

     [WebMethod]//加载省
            public ListModel.province> loadprovince()//为什么要用list因为这里出从前的值不可能一个实例是多个model实例,一个实例就是一条记载这样做防止字段错误
            {
                BLL.province bp = new BLL.province();
                ListModel.province> list=bp.getlistModel();
                return list;
            }
            [WebMethod]//加载市
            public ListModel.city> loadcity(string fatherid)
            {
                BLL.city bc = new BLL.city();
                ListModel.city> list = bc.getlistmodel(fatherid);
                return list;
            }
            [WebMethod]//加载县
            public ListModel.area> loadarea(string fatherid)
            {
                BLL.area ba = new BLL.area();
                ListModel.area> list = ba.getlistmodel(fatherid);
                return list;

            }
        }
    }

    DAL--area

    复制代码 代码如下:

    public System.Collections.Generic.ListModel.area> getlistmodel(string fatherid)
            {
                System.Collections.Generic.ListModel.area> list = new System.Collections.Generic.ListModel.area>();
                DataTable dt = GetList("father=" + fatherid + "").Tables[0];
                foreach (DataRow row in dt.Rows)
                {
                    Model.area ma = new Model.area();
                    ma.areaID = row["areaID"].ToString();
                    ma.areaname = row["areaname"].ToString();
                    ma.father = row["father"].ToString();
                    list.Add(ma);
                }
                return list;
            }


    Dal--city

    复制代码 代码如下:

     public System.Collections.Generic.ListModel.area> getlistmodel(string fatherid)
            {
                System.Collections.Generic.ListModel.area> list = new System.Collections.Generic.ListModel.area>();
                DataTable dt = GetList("father=" + fatherid + "").Tables[0];
                foreach (DataRow row in dt.Rows)
                {
                    Model.area ma = new Model.area();
                    ma.areaID = row["areaID"].ToString();
                    ma.areaname = row["areaname"].ToString();
                    ma.father = row["father"].ToString();
                    list.Add(ma);
                }
                return list;
            }
        }


    DAL-provience

    复制代码 代码如下:

    public System.Collections.Generic.ListModel.province> getlistModel()
            {
                //将要查的内容以实例的方式返回
                //这里要做的就是要建立list并将list用model实例填满,而model要用一个方法失掉数据并添加到model中
              //建list实例
                System.Collections.Generic.ListModel.province> list = new System.Collections.Generic.ListModel.province>();
                //已经有了的失掉数据的方法就不用自己写了通过调用Getlist的方法操纵数据库拿到数据
                DataTable dt = GetList("").Tables[0];
                //拿到数据后就需要将数据添加到model实例中了

                foreach (DataRow row in dt.Rows)
                {
                    //每一行都是个实例所以要将model的放在循环里面
                    Model.province mp = new Model.province();
                    mp.provinceID = row["provinceID"].ToString();
                    mp.provincename = row["provincename"].ToString();
                    list.Add(mp);//没添加完一个实例都要放到list中
                }
                return list;


            }

    您可能感兴趣的文章:
    • PHP+Mysql+Ajax+JS实现省市区三级联动
    • asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
    • AJAX省市区三级联动下拉菜单(java版)
    • ajax实现无刷新省市县三级联动
    • ajax三级联动下拉菜单效果
    • jquery+ajax实现省市区三级联动效果简单示例
    • jQuery ajax实现省市县三级联动
    • ajax三级联动的实现方法
    • AJAX和WebService实现省市县三级联动具体代码
    • ajax实现select三级联动效果
    上一篇:asp.net利用Ajax和Jquery在前台向后台传参数并返回值的实例
    下一篇:无法将函数定义与现有的声明匹配 问题的解决办法 分享
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信