溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ajax怎么實現三級聯(lián)動

發(fā)布時間:2021-07-07 10:11:00 來源:億速云 閱讀:132 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了ajax怎么實現三級聯(lián)動,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

ajax怎么實現三級聯(lián)動

1. test.php

<script src="../jquery-1.11.2.min.js"></script>
<script src="sanji.js"></script>
<title>無標題文檔</title>
</head>

<body>
<h2>三級聯(lián)動</h2>
<div id="sanji"></div>

</body>
</html>

2. sanji.js

// JavaScript Document
$(document).ready(function(e) {
 //找到ID=SANJI的DIV,造三個下拉扔進去
 $("#sanji").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>");
 
 //加載省的數據
 LoadSheng();
 //加載市的數據
 LoadShi();
 //加載區(qū)的數據
 LoadQu();
 
 //給省的下拉加點擊事件
 $("#sheng").click(function(){
   //重新加載市
   LoadShi();
   //重新加載區(qū)
   LoadQu();
  })
 //給市的下拉加點擊事件
 $("#shi").click(function(){
   //重新加載區(qū)
   LoadQu();
  })
 
});
//加載省份的方法
function LoadSheng()
{
 //省的父級代號
 var pcode = "0001";
 $.ajax({
  async:false,
  url:"chuli.php",
  data:{pcode:pcode},
  type:"POST",
  dataType:"TEXT",
  success: function(data){
   var hang = data.trim().split("|");
   var str = "";
   for(var i=0;i<hang.length;i++)
   {
    var lie = hang[i].split("^");
    str = str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
   }
   $("#sheng").html(str);
  }
 });
}
//加載市的方法
function LoadShi()
{
 //找市的父級代號
 var pcode = $("#sheng").val();
 $.ajax({
  async:false,
  url:"chuli.php",
  data:{pcode:pcode},
  type:"POST",
  dataType:"TEXT",
  success: function(data){
   var hang = data.trim().split("|");
   var str = "";
   for(var i=0;i<hang.length;i++)
   {
    var lie = hang[i].split("^");
    str = str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
   }
   $("#shi").html(str);
  }
 });
}

//加載區(qū)的方法
function LoadQu()
{
 //找區(qū)的父級代號
 var pcode = $("#shi").val();
 $.ajax({
  url:"chuli.php",
  data:{pcode:pcode},
  type:"POST",
  dataType:"TEXT",
  success: function(data){
   var hang = data.trim().split("|");
   var str = "";
   for(var i=0;i<hang.length;i++)
   {
    var lie = hang[i].split("^");
    str = str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
   }
   $("#qu").html(str);
  }
 });
}

3. chuli.php

<?php
//給一個父級代號,返回該父級代號下所有的子地區(qū)
require "DBDA.class.php";
$db=new DBDA();
$pcode=$_POST["pcode"];


$sql="select areacode,areaname from chinastates where parentareacode='{$pcode}'";
echo $db->StrQuery($sql);

引用的封裝類里面返回字符串的方法

<?php
class DBDA
{
 public $host = "localhost";
 public $uid = "root";
 public $pwd = "123";
 public $dbname = "test_123";
 //執(zhí)行SQL語句返回相應的結果
 //$sql 要執(zhí)行的SQL語句
 //$type 代表SQL語句的類型,0代表增刪改,1代表查詢
 function query($sql,$type=0)
 {
  $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
  
  $result = $db->query($sql);
  
  if($type)
  {
   //如果是查詢,顯示數據
   return $result->fetch_all();
  }
  else
  {
   //如果是增刪改,返回true或者false
   return $result;
  }
 }
 
 //返回字符串的方法
 public function strquery($sql,$type=1)
 {
  $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
  $result = $db->query($sql);
  $arr = $result->fetch_all();
  $str="";
  foreach($arr as $v)
  {
   $str = $str.implode("^",$v)."|";
  }
  
  $str = substr($str,0,strlen($str)-1);
  return $str;

 }
 
 //返回JSON
 function JSONQuery($sql,$type=1)
 {
  $db = new MySQLi($this->host,$this->uid,$this->pwd,$this->dbname);
  $r = $db->query($sql);
  
  if($type==1)
  {
   return json_encode($r->fetch_all(MYSQLI_ASSOC));
  }
  else
  {
   return $r;
  }
 }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ajax怎么實現三級聯(lián)動”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI