本文实例为大家分享了ajax实现城市三级联动的具体代码,供大家参考,具体内容如下
在准备好服务器后
html部分
1 2 3 | < div > < select name = "" id = "province" >< option value = "" >请选择省份</ option ></ select >< select name = "" id = "city" >< option value = "" >请选择城市</ option ></ select >< select name = "" id = "district" >< option value = "" >请选择区域</ option ></ select > </ div > |
样式部分
1 2 3 4 5 6 7 8 9 10 | <style> div { text-align : center ; } select { width : 150px ; height : 30px ; } </style> |
js部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <script> var a = 0; var b = 0; var d= null ; $.ajax({ type: 'get' , success: function (data){ d = JSON.parse(data.slice(10,-1)); //获取json数据并转化为数组数据 $.each(d, function (index,ele){ $( '<option value = "">' ).appendTo( '#province' ).text(ele.name); //把省的数据插入列表中 }) } }) $( '#province' ).on( 'change' , function (e){ //当省变化时 $.ajax({ type: 'get' , success: function (data){ d=JSON.parse(data.slice(10,-1)); a = e.target.selectedIndex - 1; //当前下拉列表下标 if (a == -1){ $( '#city' ).html( '<option value="">请选择城市' ); $( '#district' ).html( '<option value="">请选择区域' ); } else { $( '#city' ).html( '<option value="">请选择城市' ); $( '#district' ).html( '<option value="">请选择区域' ); if (d[a].children){ $.each(d[a].children, function (index,ele){ $( '<option value = "">' ).appendTo( '#city' ).text(ele.name); }) } } } }) }) $( '#city' ).on( 'change' , function (e){ //当市变化时 $.ajax({ type: 'get' , success: function (data){ d=JSON.parse(data.slice(10,-1)); b = e.target.selectedIndex - 1; if (b == -1){ $( '#district' ).html( '<option value="">请选择区域' ); } else { $( '#district' ).html( '<option value="">请选择区域' ); if (d[a].children[b].children){ $.each(d[a].children[b].children, function (index,ele){ $( '<option value = "">' ).appendTo( '#district' ).text(ele.name); }) } } } }) }) </script> |
全部代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | < meta charset = "UTF-8" >< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >< title >Document</ title >< script src = "https://cdn.bootcdn.net/ajax/libs/jquery/1.11.3/jquery.js" ></ script >< style > div { text-align: center; } select { width: 150px; height: 30px; } </ style >< div > < select name = "" id = "province" >< option value = "" >请选择省份</ option ></ select >< select name = "" id = "city" >< option value = "" >请选择城市</ option ></ select >< select name = "" id = "district" >< option value = "" >请选择区域</ option ></ select > </ div > < script > var a = 0; var b = 0; var d=null; $.ajax({ type:'get', success: function(data){ d = JSON.parse(data.slice(10,-1)); $.each(d,function(index,ele){ $('< option value = "" >').appendTo('#province').text(ele.name); }) } }) $('#province').on('change',function(e){ $.ajax({ type:'get', success: function(data){ d=JSON.parse(data.slice(10,-1)); a = e.target.selectedIndex - 1; if(a == -1){ $('#city').html('< option value = "" >请选择城市'); $('#district').html('< option value = "" >请选择区域'); }else{ $('#city').html('< option value = "" >请选择城市'); $('#district').html('< option value = "" >请选择区域'); if(d[a].children){ $.each(d[a].children,function(index,ele){ $('< option value = "" >').appendTo('#city').text(ele.name); }) } } } }) }) $('#city').on('change',function(e){ $.ajax({ type:'get', success: function(data){ d=JSON.parse(data.slice(10,-1)); b = e.target.selectedIndex - 1; if(b == -1){ $('#district').html('< option value = "" >请选择区域'); }else{ $('#district').html('< option value = "" >请选择区域'); if(d[a].children[b].children){ $.each(d[a].children[b].children,function(index,ele){ $('< option value = "" >').appendTo('#district').text(ele.name); }) } } } }) }) </ script > |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IT俱乐部。