ajax+json+php实现三级菜单联动

实现要点

1.ajax实现局部刷新,菜单联动
2.json实现菜单数据的传输和解析
3.php实现后台数据的组织,ajax请求接收,json数据组织

ajax核心代码

 1 $(function(){
 2             $(‘#s1‘).empty();
 3             //$(‘#s1 option‘).remove();
 4             $(‘#s1‘).append(new Option(‘==请选择==‘,‘‘));
 5             $.ajax({
 6                     type:"post",
 7                     url:"s1.php",
 8                     success:function(msg){
 9                         var json= eval(‘(‘+msg+‘)‘);
10                         for(var i=0;i<json.length;i++){
11                             $(‘#s1‘).append(new Option(json[i].value,json[i].key));
12                         }
13                     }
14                 });
15                $(‘#s1‘).change(function(){
16                    $(‘#s2‘).empty();
17                    $(‘#s2‘).append(new Option(‘==请选择==‘,‘‘));
18                    $.ajax({
19                     type:"post",
20                     url:"s2.php",
21                     data:‘i=‘+$(‘#s1‘).val(),
22                     success:function(msg){
23                         var json= eval(‘(‘+msg+‘)‘);
24                         for(var i=0;i<json.length;i++){
25                             $(‘#s2‘).append(new Option(json[i].value,json[i].key));
26                         }
27                     }
28                 });
29                });
30                $(‘#s2‘).change(function(){
31                    $(‘#s3‘).empty();
32                    $(‘#s3‘).append(new Option(‘==请选择==‘,‘‘));
33                    $.ajax({
34                     type:"post",
35                     url:"s3.php",
36                     data:‘i=‘+$(‘#s2‘).val(),
37                     success:function(msg){
38                         var json= eval(‘(‘+msg+‘)‘);
39                         for(var i=0;i<json.length;i++){
40                             $(‘#s3‘).append(new Option(json[i].value,json[i].key));
41                         }
42                     }
43                 });
44                });
45         });

php核心代码

 1 if(isset($_POST)){
 2     $i=$_POST[‘i‘];
 3     $s2option=array();
 4     //此处可查询数据库组织数据
 5     switch ($i) {
 6         case 1:
 7             $s2option=array(
 8                 array(‘key‘=>‘1‘,‘value‘=>‘二级子目录1‘),
 9                 array(‘key‘=>‘2‘,‘value‘=>‘二级子目录2‘),
10             );
11             break;
12         case 2:
13             $s2option=array(
14                 array(‘key‘=>‘3‘,‘value‘=>‘二级子目录3‘),
15                 array(‘key‘=>‘4‘,‘value‘=>‘二级子目录4‘),
16             );
17             break;
18         default:
19             # code...
20             break;
21     }
22     echo json_encode($s2option);
23 }源码地址 链接:http://pan.baidu.com/s/1qXJV5SS 密码:cy8c
时间: 2024-10-06 14:17:29

ajax+json+php实现三级菜单联动的相关文章

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates表查询 Ajax加载数据 1.这是chinastates表 2.做一个简单php:Ajax_eg.php <!DOCTYPE html><html>    <head>        <meta c

JQuery+Ajax实战三级下拉列表联动(八)

本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: public static partial class BranchTwoService { /// <summary> /// 根据一级机构的ID得二级机构列表 /// </summary> /// <param name="branchOneId">1级机构I

多级联动系列——ajax调用XML实现三级联动

ajax 使用起来特别的方便,再也不操心浏览器兼容问题了.用ajax调用XML页面中的内容,来生成三级联动,OK废话不多说,跟着我一步步写吧. 首先写一个XML文件.data.xml <?xml version="1.0" encoding="UTF-8"? > <list> <province name="河南" id='1'> <city name="焦作" id='11'>

android json解析使用总结(三) — 三级城市联动的实现

/** * 作者:crazyandcoder * 联系: * QQ : 275137657 * email: [email protected] * 转载请注明出处! */ 三级城市联动的实现 所谓的三级城市选择联动就是说当我们选择省份时将会出现该省份下所有的城市,当我们选择其中某一个城市时又将会出现该城市下所有的区,如果存在区的话.在本次实例中,主要用到了json解析,文件I/O流,android Spinner控件等知识点,记录一下实现过程,便于以后查阅参考. 三级城市联动肯定少不了我国各个

Java SSH 项目总结——Ajax+Json 级联菜单

前言 前台JSP页面需要实现下拉菜单的级联效果,实现方式如题,采用Ajax+Json,分享下实现过程. 正题 先看下效果图: 前台 <tr> <td> 注册地址 <!-- registeredAddressSection --> </td> <td> <select class="combox" id="zhuceid" name="zhuceid" onchange="

基于MVC+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用如何使用Json实体类构建菜单数据,然后在主界面中进行使用. 菜单的界面效果如下所示,菜单分为一级菜单.二级菜单.三级菜单,他们各自

基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用如何使用Json实体类构建菜单数据,然后在主界面中进行使用. 菜单的界面效果如下所示,菜单分为一级菜单.二级菜单.三级菜单,他们各

Python学习笔记五:字符串常用操作,字典,三级菜单实例

字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count("x") 输出字符,不够的使用指定的字符补上,字符居中:a_str.center(50,"-") 判断字符串以什么结尾:a_str.endwith("xx") 将字符串中的tab转换为指定数目的空格:a_str.expandtabs(tabsize=30) 查找指定字符

jquery.cityselect.js基于jQuery+JSON的省市或自定义联动效果

一.插件介绍 最早做省市联动的时候都特别麻烦,后来在helloweba的一篇文章中看到这个插件,很不错的,后来就一直用了. 省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统.电商网站最为常见.开发者一般使用Ajax实现无刷新下拉联动.本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 二.插件作者及网址 作者:暂无(请作者看到后联系我[email protected],好标上你的大名)官方网址:无官方DEMO:无最新版本:日期201