ajax三级联动的具体操作代码

来源:爱站网时间:2022-11-11编辑:网友分享
爱站技术频道小编来给大家说说看:ajax三级联动的具体操作代码,想要这方面知识点的朋友可以随时来复制源代码使用,希望下面这篇文章内容能打开你对ajax三级联动的认知。

本文实例为大家分享了ajax三级联动展示的具体代码,供大家参考,具体内容如下

1. test.php

<script src="../jquery-1.11.2.min.js"></script>

<script src="sanji.js"></script>

<title>无标题文档</title>

</head>

<body>

<h1>三级联动</h1>

<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();

 //加载区的数据

 LoadQu();

  

 //给省的下拉加点击事件

 $("#sheng").click(function(){

   //重新加载市

   LoadShi();

   //重新加载区

   LoadQu();

  })

 //给市的下拉加点击事件

 $("#shi").click(function(){

   //重新加载区

   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);

  }

 });

}

 

//加载区的方法

function LoadQu()

{

 //找区的父级代号

 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

//给一个父级代号,返回该父级代号下所有的子地区

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";

 //执行SQL语句返回相应的结果

 //$sql 要执行的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三级联动的具体操作代码内容还不错的朋友,可以帮小编分享给有需要的朋友知道,如果你对此还存在疑虑,可以在爱站技术频道网站留言,小编看到了会帮助你们的。

上一篇:Ajax传递数据中有特殊字符怎么处理

下一篇:ajax分页查询实例代码

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载