Ajax版省市三联动(源码)

本文介绍了一个使用Ajax和jQuery实现的省市县三级联动选择器。该选择器通过调用WebService接口来动态加载省、市、县的数据,并在用户选择省份时自动更新下拉列表中的城市选项,在选择城市时更新县区选项。

 <script src="jquery-1.9.1.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 strprovince;
                    for (var i = 0; i < result.d.length; i++) {
                        strprovince += "<option value='" + result.d[i].provinceID + "'>";
                        strprovince += result.d[i].provincename;
                        strprovince += "</option>";
                    }
                    $("#province").append(strprovince);
                }
            })
            $("#province").change(function () {
                $("#city option:gt(0)").remove();
                $("#area option:gt(0)").remove();
                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "WebService1.asmx/GetCity",
                    data: "{provid:'" + $(this).val() + "'}",
                    success: function (result) {
                        var strcity;
                        for (var i = 0; i < result.d.length; i++) {
                            strcity += "<option value='" + result.d[i].cityID + "'>";
                            strcity += result.d[i].cityname;
                            strcity += "</option>";
                        }
                        $("#city").append(strcity);
                    }
                })
            })
            $("#city").change(function () {
                $("#area option:gt(0)").remove();
                $.ajax({
                    type: "post",
                    contentType: "application/json",
                    url: "WebService1.asmx/GetArea",
                    data: "{cityid:'" + $(this).val() + "'}",
                    success: function (result) {
                        var strarea;
                        for (var i = 0; i < result.d.length; i++) {
                            strarea += "<option value='" + result.d[i].areaID + "'>",
                            strarea += result.d[i].areaname,
                            strarea += "</option>"
                        }
                        $("#area").append(strarea);
                    }
                })
            })
        })
    </script>
</head>
<body>
    <select id="province">
        <option>----请选择省----</option>
    </select>
    <select id="city">
        <option>----请选择市----</option>
    </select>
    <select id="area">
        <option>----请选择县----</option>
    </select>
</body>

 

*********************************WebService1.asmx页面***********************************

 [WebMethod]
        public List<fenye.Model.province> GetProvince()
        {
            fenye.BLL.province prov = new fenye.BLL.province();
            List<fenye.Model.province> provlist = prov.GetListModel();
            return provlist;
        }
        [WebMethod]
        public List<fenye.Model.city> GetCity(string provid)
        {
            fenye.BLL.city city = new fenye.BLL.city();
            List<fenye.Model.city> citylist = city.GetListcity("father='" + provid + "'");
            return citylist;
        }
        [WebMethod]
        public List<fenye.Model.area> GetArea(string cityid)
        {
            fenye.BLL.area area = new fenye.BLL.area();
            List<fenye.Model.area> arealist = area.GetListarea("father='" + cityid + "'");
            return arealist;
        }

 

*********************************DAL province********************************************

/// <summary>
  /// 获得数据列表
  /// </summary>
  public DataSet GetList(string strWhere)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("select id,provinceID,provincename ");
   strSql.Append(" FROM province ");
   if(strWhere.Trim()!="")
   {
    strSql.Append(" where "+strWhere);
   }
   return DbHelperSQL.Query(strSql.ToString());
  }

 //获取数据列表
        public List<Model.province> GetListModel()
        {
            List<Model.province> listprov = new List<Model.province>();
            DataTable dt = GetList("").Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                Model.province prov = new Model.province();
                prov.id = Convert.ToInt32(row["id"]);
                prov.provinceID = row["provinceID"].ToString();
                prov.provincename = row["provincename"].ToString();
                listprov.Add(prov);
            }
            return listprov;
        }

***********************************DAL city*************************************************

/// <summary>
  /// 获得数据列表
  /// </summary>
  public DataSet GetList(string strWhere)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("select id,cityID,cityname,father ");
   strSql.Append(" FROM city ");
   if(strWhere.Trim()!="")
   {
    strSql.Append(" where "+strWhere);
   }
   return DbHelperSQL.Query(strSql.ToString());
  }

 public List<Model.city> GetListcity(string strSql)
        {
            List<Model.city> listcity = new List<Model.city>();
            DataTable dt = GetList(strSql).Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                Model.city city = new Model.city();
                city.cityID = row["cityID"].ToString();
                city.cityname = row["cityname"].ToString();
                listcity.Add(city);
            }
            return listcity;
        }

*************************DAL area*************************************

/// <summary>
  /// 获得数据列表
  /// </summary>
  public DataSet GetList(string strWhere)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("select id,areaID,areaname,father ");
   strSql.Append(" FROM area ");
   if(strWhere.Trim()!="")
   {
    strSql.Append(" where "+strWhere);
   }
   return DbHelperSQL.Query(strSql.ToString());
  }

 public List<Model.area> GetListarea(string sqlStr)
        {
            List<Model.area> listarea = new List<Model.area>();
            DataTable dt = GetList(sqlStr).Tables[0];
            foreach (DataRow row in dt.Rows)
            {
                Model.area area = new Model.area();
                area.areaID = row["areaID"].ToString();
                area.areaname = row["areaname"].ToString();
                listarea.Add(area);
            }
            return listarea;
        }

********************************BLL provice***************************************

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

*********************************BLL city******************************************

public List<Model.city> GetListcity(string sqlStr)
        {
            return dal.GetListcity(sqlStr);
        }

*********************************BLL area********************************************

public List<Model.area> GetListarea(string sqlStr)
        {
            return dal.GetListarea(sqlStr);
        }

本系统旨在构建一套面向高等院校的综合性教务管理平台,涵盖学生、教师及教务处三个核心角色的业务需求。系统设计着重于实现教学流程的规范化与数据处理的自动化,以提升日常教学管理工作的效率与准确性。 在面向学生的功能模块中,系统提供了课程选修服务,学生可依据培养方案选择相应课程,并生成个人专属的课表。成绩查询功能支持学生查阅个人各科目成绩,同时系统可自动计算并展示该课程的全班最高分、平均分、最低分以及学生在班级内的成绩排名。 教师端功能主要围绕课程与成绩管理展开。教师可发起课程设置申请,提交包括课程编码、课程名称、学分学时、课程概述在内的新课程信息,亦可对已开设课程的信息进行更新或撤销。在课程管理方面,教师具备录入所授课程期末考试成绩的权限,并可导出选修该课程的学生名单。 教务处作为管理中枢,拥有课程审批与教学统筹两大核心职能。课程设置审批模块负责处理教师提交的课程申请,管理员可根据教学计划与资源情况进行审核批复。教学安排模块则负责全局管控,包括管理所有学生的选课最终结果、生成包含学号、姓名、课程及成绩的正式成绩单,并能基于选课与成绩数据,统计各门课程的实际选课人数、最高分、最低分、平均分以及成绩合格的学生数量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值