Ajax 实现省市县 三级联动【无刷新】三层 | 三级联动—有刷新

前端之家收集整理的这篇文章主要介绍了Ajax 实现省市县 三级联动【无刷新】三层 | 三级联动—有刷新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sql建表


HTML——HTMLPage1.htm

[html] view plain copy
  1. <htmlxmlns="http://www.w3.org/1999/xhtml">@H_403_41@
  2. head>@H_403_41@
  3. title>Ajax实现省市县三级联动【无刷新】三层</styletype="text/css" select@H_403_41@
  4. {@H_403_41@
  5. width:130px;@H_403_41@
  6. }@H_403_41@
  7. stylescriptsrc="js/Jquery1.7.js"type="text/javascript">scriptscripttype="text/javascript" $(function(){@H_403_41@
  8. $.ajax({@H_403_41@
  9. type:"post",@H_403_41@
  10. contentType:"application/json",@H_403_41@
  11. url:"WebService1.asmx/GetProvince",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> data:"{}",248); line-height:18px"> success:function(result){@H_403_41@
  12. varstroption='';@H_403_41@
  13. for(vari=0;i<result.d.length;i++){@H_403_41@
  14. stroption+='optionvalue='+result.d[i].provinceID+'>';@H_403_41@
  15. stroption+=result.d[i].provincename;@H_403_41@
  16. option $('#seprovince').append(stroption);@H_403_41@
  17. })@H_403_41@
  18. @H_403_41@
  19. $('#seprovince').change(function(){@H_403_41@
  20. $('#secityoption:gt(0)').remove();@H_403_41@
  21. $('#seareaoption:gt(0)').remove();@H_403_41@
  22. @H_403_41@
  23. $.ajax({@H_403_41@
  24. type:"post",248); line-height:18px"> contentType:"application/json",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> url:"WebService1.asmx/GetCItyByPro",248); line-height:18px"> data:"{proid:'"+$(this).val()+"'}",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> success:function(result){@H_403_41@
  25. varstrocity='';@H_403_41@
  26. for(vari=0;iresult.d.length;i++){@H_403_41@
  27. strocity+='optionvalue='+result.d[i].cityID+'>';@H_403_41@
  28. strocity+=result.d[i].cityname;@H_403_41@
  29. }@H_403_41@
  30. $('#secity').append(strocity);@H_403_41@
  31. })@H_403_41@
  32. $('#secity').change(function(){@H_403_41@
  33. url:"WebService1.asmx/GetAreaByCity",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> data:"{cityid:'"+$(this).val()+"'}",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> varstroarea='';@H_403_41@
  34. stroarea+='optionvalue='+result.d[i].areaID+' stroarea+=result.d[i].areaname;@H_403_41@
  35. $('#searea').append(stroarea);@H_403_41@
  36. bodytabletrtd 用户名@H_403_41@
  37. inputid="Text1"type="text"/>@H_403_41@
  38. 密码@H_403_41@
  39. inputid="Text2"type="text" 确认密码@H_403_41@
  40. inputid="Text3"type="text" 邮箱@H_403_41@
  41. inputid="Text4"type="text" 地址@H_403_41@
  42. selectid="seprovince">--请选择--select @H_403_41@
  43. selectid="secity">@H_403_41@
  44. selectid="searea">@H_403_41@
  45. html>@H_403_41@

创建Web服务——WebService1.asmx

copy

    usingSystem;@H_403_41@
  1. usingSystem.Collections.Generic;@H_403_41@
  2. usingSystem.Linq;@H_403_41@
  3. usingSystem.Web;@H_403_41@
  4. usingSystem.Web.Services;@H_403_41@
  5. usingSystem.Data;@H_403_41@
  6. namespaceWebApplication1@H_403_41@
  7. {@H_403_41@
  8. ///summary ///WebService1的摘要说明@H_403_41@
  9. [WebService(Namespace="http://tempuri.org/")]@H_403_41@
  10. [WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]@H_403_41@
  11. [System.ComponentModel.ToolBoxItem(false)]@H_403_41@
  12. //若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。@H_403_41@
  13. [System.Web.Script.Services.ScriptService]@H_403_41@
  14. publicclassWebService1:System.Web.Services.WebService@H_403_41@
  15. [WebMethod]@H_403_41@
  16. publicstringHelloWorld()@H_403_41@
  17. return"HelloWorld";@H_403_41@
  18. [WebMethod]@H_403_41@
  19. publicListModel.province>GetProvince()@H_403_41@
  20. BLL.provincebpro=newBLL.province();@H_403_41@
  21. List>list=bpro.GetListModel();@H_403_41@
  22. returnlist;@H_403_41@
  23. publicListModel.city>GetCItyByPro(stringproid)@H_403_41@
  24. BLL.citybcity=newBLL.city();@H_403_41@
  25. List>list=bcity.GetListModel("father='"+proid+"'");@H_403_41@
  26. returnlist;@H_403_41@
  27. Model.area>GetAreaByCity(stringcityid)@H_403_41@
  28. BLL.areabarea=newBLL.area();@H_403_41@
  29. >list=barea.GetListModel("father='"+cityid+"'");@H_403_41@
  30. }@H_403_41@

====三层 ——> 创建类库 BLL 、DAL、DataAccess、MODEL——> 在类库里添加

province表——动软生成

GetListModel在BLL层定义

GetListModel转到定义——DAL层

city表——动软生成

city在BLL层定义

copy

    publicList>GetListModel(stringstrsql)@H_403_41@
  1. returndal.GetListModel(strsql);@H_403_41@
  2. }@H_403_41@


city转到定义——DAL层
copy
    publicSystem.Collections.Generic.List System.Collections.Generic.List>list=newSystem.Collections.Generic.List>();@H_403_41@
  1. DataTabledt=GetList(strsql).Tables[0];@H_403_41@
  2. foreach(DataRowrowindt.Rows)@H_403_41@
  3. Model.citymcity=newModel.city();@H_403_41@
  4. mcity.id=Convert.ToInt32(row["id"]);@H_403_41@
  5. mcity.cityID=row["cityID"].ToString();@H_403_41@
  6. mcity.cityname=row["cityname"].ToString();@H_403_41@
  7. list.Add(mcity);@H_403_41@
  8. area表——动软生成

    area在BLL层定义

    copy
      area转到定义——DAL层
      copy
        DataTabledt=GetList(strsql).Tables[0];@H_403_41@
      1. System.Collections.Generic.List>();@H_403_41@
      2. Model.areamarea=newModel.area()@H_403_41@
      3. id=Convert.ToInt32(row["id"]),@H_403_41@
      4. areaID=row["areaID"].ToString(),@H_403_41@
      5. areaname=row["areaname"].ToString()@H_403_41@
      6. };@H_403_41@
      7. list.Add(marea);@H_403_41@
      8. =========================================================三级联动—有刷新【两种实现方法

        第一种:

        sql建表

        三层 ——> 创建类库 BLL 、DAL、DataAccess、MODEL——> 在类库里添加

        Web窗体——WebForm1.aspx

        前台

        copy

          headrunat="server">三级联动—有刷新formid="form1"runat="server"div>地址asp:DropDownListID="ddlprovince"runat="server"AutoPostBack="True"@H_403_41@
        1. onselectedindexchanged="ddlprovince_SelectedIndexChanged"asp:DropDownList>@H_403_41@
        2. asp:DropDownListID="ddlcity"runat="server"AutoPostBack="True"@H_403_41@
        3. onselectedindexchanged="ddlcity_SelectedIndexChanged"asp:DropDownListID="ddlarear"runat="server">@H_403_41@
        4. form后台:——引用了动软生成的类库

          copy

            usingSystem.Web.UI;@H_403_41@
          1. usingSystem.Web.UI.WebControls;@H_403_41@
          2. usingSystem.Data;@H_403_41@
          3. namespaceWebApplication1@H_403_41@
          4. publicpartialclassWebForm1:System.Web.UI.Page@H_403_41@
          5. protectedvoidPage_Load(objectsender,EventArgse)@H_403_41@
          6. if(!IsPostBack)@H_403_41@
          7. LoadProvince();@H_403_41@
          8. Model.provincep=newModel.province();@H_403_41@
          9. p.id=1;@H_403_41@
          10. p.provinceID="111111";@H_403_41@
          11. p.provincename="北京";@H_403_41@
          12. Model.provincep1=newModel.province();@H_403_41@
          13. p1.id=2;@H_403_41@
          14. p1.provinceID="222222";@H_403_41@
          15. p1.provincename="天津";@H_403_41@
          16. privatevoidLoadProvince()@H_403_41@
          17. BLL.provincebpro=newBLL.province();@H_403_41@
          18. DataTabledt=bpro.GetList("").Tables[0];@H_403_41@
          19. ddlprovince.DataSource=dt;@H_403_41@
          20. ddlprovince.DataTextField="provincename";@H_403_41@
          21. ddlprovince.DataValueField="provinceID";@H_403_41@
          22. ddlprovince.DataBind();@H_403_41@
          23. protectedvoidddlprovince_SelectedIndexChanged(objectsender,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> if(this.ddlarear.Items.Count>0)@H_403_41@
          24. this.ddlarear.Items.Clear();@H_403_41@
          25. BLL.citybcity=newBLL.city();@H_403_41@
          26. stringproid=this.ddlprovince.SelectedItem.Value;@H_403_41@
          27. DataTabledt=bcity.GetList("father='"+proid+"'").Tables[0];@H_403_41@
          28. ddlcity.DataSource=dt;@H_403_41@
          29. ddlcity.DataTextField="cityname";@H_403_41@
          30. ddlcity.DataValueField="cityID";@H_403_41@
          31. ddlcity.DataBind();@H_403_41@
          32. //绑定默认显示的市级区划下面所有的县@H_403_41@
          33. stringcityid=dt.Rows[0]["cityID"].ToString();@H_403_41@
          34. BLL.areabaraer=newBLL.area();@H_403_41@
          35. DataTabledtarea=baraer.GetList("father='"+cityid+"'").Tables[0];@H_403_41@
          36. ddlarear.DataSource=dtarea;@H_403_41@
          37. ddlarear.DataTextField="areaname";@H_403_41@
          38. ddlarear.DataValueField="areaID";@H_403_41@
          39. ddlarear.DataBind();@H_403_41@
          40. protectedvoidddlcity_SelectedIndexChanged(objectsender,EventArgse)@H_403_41@
          41. BLL.areabaraer=newBLL.area();@H_403_41@
          42. stringcityid=this.ddlcity.SelectedItem.Value;@H_403_41@
          43. DataTabledt=baraer.GetList("father='"+cityid+"'").Tables[0];@H_403_41@
          44. ddlarear.DataSource=dt;@H_403_41@
          45. }@H_403_41@

          Web窗体——WebForm2.aspx

          前台

          copy
            asp:DropDownListID="ddlarear"runat="server"@H_403_41@
          1. 后台

            copy

              publicpartialclassWebForm2:System.Web.UI.Page@H_403_41@
            1. protectedvoidPage_Load(objectsender,248); line-height:18px"> if(!IsPostBack)@H_403_41@
            2. LoadProvince();@H_403_41@
            3. BLL.provincebprovince=newBLL.province();@H_403_41@
            4. >list=bprovince.GetListModel();@H_403_41@
            5. this.ddlprovince.DataSource=list;@H_403_41@
            6. this.ddlprovince.DataTextField="provincename";@H_403_41@
            7. this.ddlprovince.DataValueField="provinceID";@H_403_41@
            8. this.ddlprovince.DataBind();@H_403_41@
            9. protectedvoidddlprovince_SelectedIndexChanged(objectsender,248); line-height:18px"> stringid=this.ddlprovince.SelectedItem.Value;@H_403_41@
            10. >list=bcity.GetListModel("father="@H_403_41@
            11. +id);@H_403_41@
            12. this.ddlcity.DataSource=list;@H_403_41@
            13. this.ddlcity.DataTextField="cityname";@H_403_41@
            14. this.ddlcity.DataValueField="cityID";@H_403_41@
            15. this.ddlcity.DataBind();@H_403_41@
            16. protectedvoidddlcity_SelectedIndexChanged(objectsender,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px"> stringid=this.ddlcity.SelectedItem.Value;@H_403_41@
            17. BLL.areabarear=newBLL.area();@H_403_41@
            18. >list=barear.GetListModel("father="@H_403_41@
            19. +id);@H_403_41@
            20. this.ddlarear.DataSource=list;@H_403_41@
            21. this.ddlarear.DataTextField="areaname";@H_403_41@
            22. this.ddlarear.DataValueField="areaID";@H_403_41@
            23. this.ddlarear.DataBind();@H_403_41@
            24. }@H_403_41@

            猜你在找的Ajax相关文章