用ajax實現三級聯動


 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>無標題文檔</title>
 6 <script src="../jq.js"></script>
 7 <script src="sanji.js"></script>
 8 </head>
 9 
10 <body>
11 <h1>三級聯動</h1>
12 <div id="sanji"></div>
13 </body>
14 </html>

07:38:10

  1 $(document).ready(function(e) {
  2     //在div里面造三個下拉
  3     $("#sanji").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>");
  4     //填充數據
  5     FillSheng();//填充省
  6     FillShi();//填充市
  7     FillQu();//填充區
  8     
  9     //同步異步,同步就是是指在AJAX處理數據的時候,必須等到處理完成才能執行下面的語句,異步就是在AJAX處理數據的時候,不用等到處理完,下面的語句就可以執行
 10     //同步在交換信息的時候,必須等到對方確認接收之后再發送下一條
 11     //異步在交換信息的時候,只管向對方發送,不用管對方有沒有答復
 12     //表現在線程上,同步相當於單線程處理一個請求,異步相當於多線程同時處理多個
 13     
 14     //填充省的方法
 15     function FillSheng()
 16     {
 17         var code="0001";
 18         $.ajax({
 19             async:false,//ajax變為同步
 20             url:"ChuLi.php",
 21             data:{code:code},
 22             type:'POST',
 23             dataType:"TEXT",
 24             success: function(data){
 25                 
 26                 var hang=data.split("|");
 27                 var str="";
 28                 for(var i=0;i<hang.length;i++)
 29                 {
 30                     var lie=hang[i].split("^");
 31                     
 32                     str+="<option value='"+lie[0]+"'>"+lie[1]+"</option>"
 33                     
 34                     
 35                     
 36                 }
 37                 
 38                 //將所有的option省下拉里面
 39                     $("#sheng").html(str);
 40                     
 41                 
 42                 
 43             }
 44             
 45             
 46             
 47             
 48             
 49             
 50             });
 51         
 52         
 53         }
 54         
 55         function FillShi()
 56     {
 57         var code=$("#sheng").val();
 58         $.ajax({
 59             async:false,//ajax變為同步
 60             url:"ChuLi.php",
 61             data:{code:code},
 62             type:'POST',
 63             dataType:"TEXT",
 64             success: function(data){
 65                 
 66                 var hang=data.split("|");
 67                 var str="";
 68                 for(var i=0;i<hang.length;i++)
 69                 {
 70                     var lie=hang[i].split("^");
 71                     
 72                     str+="<option value='"+lie[0]+"'>"+lie[1]+"</option>"
 73                     
 74                     
 75                     
 76                 }
 77                 
 78                 //將所有的option省下拉里面
 79                     $("#shi").html(str);
 80                     
 81                 
 82                 
 83             }
 84             
 85             
 86             
 87             
 88             
 89             
 90             });
 91         
 92         
 93         }
 94         function FillQu()
 95     {
 96         var code=$("#shi").val();
 97         $.ajax({
 98             async:false,//ajax變為同步
 99             url:"ChuLi.php",
100             data:{code:code},
<?PHP

include("class.php");
$db=new DBDA();

$pcode=$_POST["code"];

$sql="select AreaCode,AreaName from ChinaStates where ParentAreaCode='{$pcode}'" ;

$str=$db->StrQuery($sql);

echo $str; 
 
         

 

101             type:'POST',
102             dataType:"TEXT",
103             success: function(data){
104                 
105                 var hang=data.split("|");
106                 var str="";
107                 for(var i=0;i<hang.length;i++)
108                 {
109                     var lie=hang[i].split("^");
110                     
111                     str+="<option value='"+lie[0]+"'>"+lie[1]+"</option>"
112                     
113                     
114                     
115                 }
116                 
117                 //將所有的option省下拉里面
118                     $("#qu").html(str);
119                     
120                 
121                 
122             }
123             
124             
125             
126             
127             
128             
129             });
130         
131         
132         }
133         //當省的選中發生變化的時候,去改變市和區
134     $("#sheng").change(function(){
135             FillShi();
136             FillQu();
137         })
138         
139     //當市的選中發生變化的時候,去改變區
140     $("#shi").change(function(){
141             FillQu();
142         })
143 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM