码迷,mamicode.com
首页 > Web开发 > 详细

PHP----练习-----三级联动

时间:2016-06-26 21:01:32      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

 

 

  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="../jquery-1.11.2.min.js"></script>
  7 
  8 <!--三级联动是ajac来实现-->
  9 </head>
 10 <body>
 11 <div id="sanji"></div><!--三个下拉列表--><!--把div放在这是因为,以后可以拿到别的地方使用,这就是就是一个JS的插件-->
 12 
 13 </body>
 14 <script type="text/javascript">
 15 
 16 $(document).ready(function(e) {
 17    //要实现三级联动,需要三个下拉列表,怎样实现?????
 18    
 19    //定义一个字符串,  写三个下拉<select> ,第一个下拉是存放省的,第二个下拉是存放市的,第三个是存放的区的
 20   var zhuti="<select id=‘sheng‘></select><select id=‘shi‘></select><select id=‘qu‘></select>"; 
 21  // aler(zhuti);
 22    
 23   //做了三个< select>,把这三个< select> 放到  <div id="sanji"></div>里
 24     //怎么放??
 25     //根据ID,找到DIV"#sanji"
 26     $("#sanji").html(zhuti);
 27     //把三个下拉放到的DIV里,div<div id="sanji"></div>里有三个下拉了
 28     //页面在加载时,把这三个select放到DIV里,第一个select里要填充内容,省填充完之后,要填充市,市填充完之后,在填充区。
 29     
 30     //填充省   下拉,先要做成一个方法
 31     FillSheng();  //调用这个方法就可以填充上
 32     //填充市   下拉
 33     FillShi();  //执行这个方法就把市填充上了
 34     //填充区   下拉
 35     FillQu();  //
 36 
 37 //页面在加载时,先把这三个下拉都填上值
 38 //当省选中项变化的时候,市和区要跟这变
 39     
 40  //要给省的下拉,加一个事件
 41  //根据id找到省,加一个事件,加一个.change()事件
 42     $("#Sheng").change(function(){  //当省选中变化的时候去填充市和区,当省选中变化的时候,后面的市和区都跟这变,跟着变的话,这调用FillShi()方法和FillQu()方法,就可以了
 43     //当省选中项变化的时候,再重新填充,市和区,
 44         //填充市
 45         FillShi();
 46         //填充区
 47         FillQu();
 48         
 49     })
 50         
 51         //当市选中变化时候去填充区,因为区要跟着市变化,所以这个位置,给谁加事件???给市shi的下拉加一个.change()事件,这里面写填充区的代码
 52         $("#Shi").change(function(){
 53         //填充区
 54         FillQu();
 55         
 56             })
 57     
 58     
 59 });
 60 
 61 //把三个方法写好之后,就可以了
 62 
 63 
 64 //填充省的方法
 65 //如何从表中查到所有的省,每一个省的负级代号都是一样的,都是属于中国的,每一个省的负级代号都是0001,根据0001来查询,就可以查到所有省的信息
 66 function FillSheng()
 67 
 68 {   //省的父极代号
 69     var pcode = "0001";//定义的变量,pcode是负极代号。所有省的负极代号都是0001
 70     //根据负级代号查到所有的省
 71     //调.ajax 查
 72     //aler(pcode);
 73     $.ajax({
 74         
 75     url:"chili.php",
 76     date:{pcode:pcode},
 77     type:"POST",
 78     dataType:"TEXT",
 79     success: function(data){  //success: 回调函数  返回值是data
 80     //aler(data);
 81     <!--返回的是字符串,需要对字符串进行处理-->
 82     //拆分返回的字符串,得到行的数组
 83     var hang = data.trim().split("|");  //返回hang的数组
 84     // Trim()删除字符串首尾的空白(可以首尾一起,也可以指定首或尾,取决于控制参数),但会保留字符串内部作为词与词之间分隔的空格。
 85     //split()拆分。本函数可将字符串依指定的规则分开。先根据行与行之间的分割,过来拆。
 86     //拆完之后,会返回一个行的数组。变量hang var hang来接收。
 87     //这个行的数组里面每一项都存了,一个字符串,拆分每一行,需要先取到,字符串,取到字符串就要用循环
 88     var str = "" ;//拼一个字符串,默认是空的
 89     for(var i=0;i<hang.length;i++)
 90     {
 91         //返回列的数组
 92         var lie = hang[i].split("^");///通过hang取索引i,能够取到这一行里的字符串,这个字符串的每一列之间用哪一个符号分割了。
 93         //在根据列与列之间的分割符,过来拆一下,列于列之间是用,"^"分割的
 94         //在这个循环里,每循环一次,就可以造一个<option>,然后拼到上面
 95         str = str+"<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";//再往后拼上一个,字符串(<option></option>),<option>里面要显示,省份的信息,要显示省的名称应是索引为1的"+lie[1]+",能够取到名称
 96     }
 97     
 98         $("#sheng").html(str);
 99         
100         
101     }
102     
103     });
104     
105     
106 }
107     
108     
109     
110 
111 </script>
112 </html>

 

处理页面-------"chili.php"

 1 <?php
 2 
 3 include("DBDA.php");
 4 //造对象
 5 $db=new DBDA();
 6 //传过来一个负级代号,所以这个页面,需要接收这个负级代号
 7 //负级代号,存在$_POST的数组里,找到pcode的存起来$pcode
 8 $pcode=$_POST["pcode"];//接收负级代号
 9 //根据负级代号查询  ParentAreaCode是负级代号  传过来的负级代号是$pcode
10 $sql="select * from chinastates where ParentAreaCode=‘{$pcode}‘";
11 //根据这条语句,能够根据负级代号,查到所有的省会信息,查到所有的省会信息之后执行
12 echo $db->StrQuery($sql);//返回字符串,就包含了所有的信息
13 //这个页面就是,给你一个负级代号,就查出子级区域,然后用字符串返回
14 
15 
16 ?>

 

技术分享

 

PHP----练习-----三级联动

标签:

原文地址:http://www.cnblogs.com/yuyu1993/p/5618535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!