您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

ajax不刷新的情况下省市县三级联动

2024/4/1 4:31:52发布25次查看
这次给大家带来ajax不刷新的情况下省市县三级联动,ajax不刷新实现省市县三级联动的注意事项有哪些,下面就是实战案例,一起来看一下。
本文实例为大家分享了ajax实现无刷新省市县三级联动的具体代码,供大家参考,具体内容如下
效果图:
实现代码:
1、html:
<html> <head>   <title></title>     <style type="text/css">     select     {       width: 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>         <input id="text1" type="text" />       </td>     </tr>     <tr>       <td>         密码       </td>       <td>         <input id="text2" type="text" />       </td>     </tr>     <tr>       <td>         确认密码       </td>       <td>         <input id="text3" type="text" />       </td>     </tr>     <tr>       <td>         邮箱       </td>       <td>         <input id="text4" type="text" />       </td>     </tr>     <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>
2、webservice1.asmx
using system; using system.collections.generic; using system.linq; using system.web; using system.web.services; namespace 省市县三级联动 {   /// <summary>   /// webservice1 的摘要说明   /// </summary>   [webservice(namespace = http://tempuri.org/)]   [webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]   [system.componentmodel.toolboxitem(false)]   // 若要允许使用 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;     }   } }
在三层的bll层中的city.cs和area.cs中分别添加以下属性
//city.cs:   public list<model.city> getlistmodel(string strsql)     {       return dal.getlistmodel(strsql);     } //area.cs:    public list<model.area> getlistmodel(string strsql)     {       return dal.getlistmodel(strsql);     }
在三层的dal层中的city.cs和area.cs中分别添加以下方法
//city.cs: public system.collections.generic.list<model.city> getlistmodel(string strsql)     {       system.collections.generic.list<model.city> list = new system.collections.generic.list<model.city>();       datatable dt = getlist(strsql).tables[0];       foreach (datarow row in dt.rows)       {         model.city mcity = new model.city();         mcity.id = convert.toint32(row[id]);         mcity.cityid = row[cityid].tostring();         mcity.cityname = row[cityname].tostring();         list.add(mcity);       }       return list;     } //area.cs:   public system.collections.generic.list<model.area> getlistmodel(string strsql)     {       datatable dt = getlist(strsql).tables[0];       system.collections.generic.list<model.area> list = new system.collections.generic.list<model.area>();       foreach (datarow row in dt.rows)       {         model.area marea = new model.area()         {           id = convert.toint32(row[id]),           areaid = row[areaid].tostring(),           areaname = row[areaname].tostring()         };         list.add(marea);       }       return list;     }
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
ajax实现显示页面后才加载
ajax怎么实现异步刷新和局部刷新
以上就是ajax不刷新的情况下省市县三级联动的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product