Jquery+php+mysql建立省市级三级联动【很简单的构思】
来源:互联网 发布:网易蜂巢注册域名 编辑:程序博客网 时间:2024/06/05 16:44
前边写过一篇类似的,那是用的纯js,这地把js换成jquery代码简介好理解。思路和以前的一样,都是ajax从php获取数据表内容。
数据表很奇葩,但是很有规律,比如北京市的id为11,北京的子级别id为:110101。。。我们可以在sql中这样匹配,where id like '".$id."__'";,返回json数据显示出来。
代码:
new.html
<!DOCTYPE HTML>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
<title></title>
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" href="global.css" type="text/css">
<script type="text/javascript" src="./jquery-1.8.3.js"></script>
<script>
//初始化省级select
$(function(){
$.post("ajax-youku-server.php",{ name: "John", time: "2pm" } ,function(data){
var str="<option value ='0'>--请选择--</option>";
var obj=eval(data);
for (var i = 0;i<obj.length;i++) {
var str1="<option value ='"+obj[i].id+"'>"+obj[i].name+"</option>";
str+=str1;
};
$("#sheng").html(str);
});
});
//获取市级别和县级别的内容
function getArea(id,level){
$(function(){
$.post("ajax-youku-server.php",{ id:id} ,function(data){
var str="<option value ='0'>--请选择--</option>";
var obj=eval(data);
for (var i = 0;i<obj.length;i++) {
var str1="<option value ='"+obj[i].id+"'>"+obj[i].name+"</option>";
str+=str1;
};
$("#"+level).html(str);
});
});
}
</script>
</head>
<body>
<select id="sheng" onchange="getArea(this.value,'shi')"></select>省
<select id="shi" onchange="getArea(this.value,'xian')"></select>市
<select id="xian"></select>县
</body>
</html>
————————————
ajax-youku-server.php
<?php
header("Content-Type:text/html;charset=utf-8");
//建立数据库连接
mysql_connect("localhost","root","");
//选择数据库
mysql_select_db("area");
//设置连接数据库的编码方式
mysql_query("set names utf8");
//接受客户端传来的数据
$id=$_POST['id'];
//下划线就像我们平时用的*和?,sql的like语句中,使用%和_来代表任意多个字符和一个字符
$sql="select id,name from area where id like '".$id."__'";
//echo $sql;
//查询
$rs=mysql_query($sql);
//将查询到的数据封装成jason格式的字符串(在此也可以用php将数组转换为jason格式字符串的函数那样会更简单写)
$opstr="[";
while($rows=mysql_fetch_array($rs)){
$opstr.="{id:'".$rows['id']."',name:'".$rows['name']."'},";
}
$len=strlen($opstr)-1;
$opstr=substr($opstr,0,$len);
$opstr.="]";
echo $opstr;
?>
数据库文件我上篇文章中发了,大家从上篇文章中下载吧。
- Jquery+php+mysql建立省市级三级联动【很简单的构思】
- jquery+php+mysql实现Ajax省市县三级联动
- 省市区县三级联动JAVA+MySQL+JQuery
- 省市区县三级联动JAVA+MySQL+JQuery
- jquery json 三级省市联动
- jquery插件省市三级联动
- ajax+json+dom+php+mysql省市县三级联动
- 使用AJAX+php+mysql实现省市县三级联动
- php+js+ajax+mysql实现省市三级联动
- jquery实现省市县三级联动的jQuery插件
- 用jquery写的json省市县三级联动下拉
- 用jquery写的json省市县三级联动下拉
- javascript+xml实现简单的省市县三级联动
- jQuery实现省市县三级联动菜单
- Jquery实现省市二级三级联动Json
- Jquery实现省市县三级联动
- jquery省市县三级地址联动
- jquery+struts2+json省市县三级联动
- 转发 2013豆瓣电影【口碑榜】Top100
- EasyHR人力资源管理系统V5.1发布了
- 突破游戏驱动级反外挂保护
- Qt中编译mysql驱动程序及解决 driver not loaded 错误
- 谈谈信息熵--信息的度量
- Jquery+php+mysql建立省市级三级联动【很简单的构思】
- 搞定QQ游戏系列驱动保护TesSafe.sys
- android网络数据提交类HttpUtils
- 使用YII框架进行PHP程序的计划任务
- 5类(8种)常用内部排序算法(适用于C、C++、Java)
- 45个超实用的JavaScript技巧及最佳实践(二)
- cocos2d-x 观察者模式
- 最大子向量和(连续子数组的最大和)
- java中dynamic web project与web project 的区别?