首先是数据库的设计。分类表叫cate.

我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id).

父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。

数据库有内容后,就可以开始写代码,进行二级联动的实现。

先在后台php获取所有pid为0的数据,保存到$cate中,然后在第一层的中用foreach循环输出。

Html代码:

复制代码 代码如下:

请选择类型

{$v.ca_name}

标签:

Ajax代码:

复制代码 代码如下:

$('#type').click(function(){

$(this).change(function(){

var objectModel = {};

var   value = $(this).val();

var   type = $(this).attr('id');

objectModel[type] =value;

$.ajax({

cache:false,

type:"POST",

url:site.web+"lable",

dataType:"json",

data:objectModel,

timeout:30000,

error:function(){

alert(site.web+"lable");

},

success:function(data){

$("#lables").empty();

var count = data.length;

var i = 0;

var b="";

for(i=0;i

b+=""+data[i].ca_name+"";

}

$("#lables").append(b);

}

});

});

}

);

Ajax代码在第一层类型改变后触发,ajax方法的主要参数有

1.url:后台接收ajax的地址;

2.data:传到后台的数据,一般用json传递;这里传递的是选中类的id值。

3.type:传递方法,有get和post方法,我一般用post,可以传输的数据比get多,安全性也高些;

4.error:ajax执行失败的方法;

5.success:ajax执行成功的方法,也就是回调函数。这里在执行success时,我先用empty()清空了第二个下拉菜单的内容,然后再输出从后台获取的数据。

下面是Thinkphp接收ajax数据并处理的页面

复制代码 代码如下:

//后台ajax验证

$result = array();

$cate =$_POST['type'];

$result = M('cate')->where(array('ca_pid'=> $cate))->field('ca_id,ca_name')->select();

$this->ajaxReturn($result,"JSON");

Thinkphp的I()方法其实可以看成$_POST[],这样来获取ajax传递过来的第一层选中内容的id,接着,获取其子类,然后用ajaxReturn()返回给ajax,这里设置了返回数据以json形式,所以ajax会以json形式接收到数据

原生php的返回数据方式:

复制代码 代码如下:

//搜索结果为$result

.....

echo json_encode($result);

这样就完成了2级联动下拉菜单的实现,需要注意的是,url得保证正确,后台接收到也需要有返回值,不然ajax也不会执行success方法的。

php没有上级分类的联动,ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单...相关推荐

  1. ThinkPHP + Ajax 实现2级联动下拉菜单

    为什么80%的码农都做不了架构师?>>>    首先是数据库的设计.分类表叫cate. 我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父 ...

  2. php ajax二级联下拉菜单,ThinkPHP和Ajax 实现二级联动的下拉菜单

    这篇文章主要介绍了关于ThinkPHP和Ajax 实现二级联动的下拉菜单,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 联动菜单的数据存在数据库,可以随时通过对数据库添加删除修改改变菜 ...

  3. php 下拉菜单多选get,Jquery实现select二级联动多选下拉菜单

    前言 平时虽然也有写前端,但是对于一些复杂的功能实现仍是一知半解.这次项目需要实现一个多选下拉菜单,并且该菜单要和上级下拉菜单保持联动.更加麻烦的是,我需要完成以下操作,以省.市二级联动菜单为例: 选 ...

  4. jquery二级联动下拉菜单

    二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类: 前端技术 ...

  5. js 下拉层级多选_Jquery实现select二级联动多选下拉菜单

    前言 平时虽然也有写前端,但是对于一些复杂的功能实现仍是一知半解.这次项目需要实现一个多选下拉菜单,并且该菜单要和上级下拉菜单保持联动.更加麻烦的是,我需要完成以下操作,以省.市二级联动菜单为例: 选 ...

  6. popwindow下拉筛选 二级联动_职场人必备!一分钟搞定Excel二级联动下拉菜单

    对于一级下拉菜单的设置,相信经常使用Excel的用户都不陌生,那么,二级联动下拉菜单又是什么呢?与一级下拉菜单有什么关系呢? 二级联动下拉菜单是根据一级下拉菜单内容的变化而变化的.大家都知道,不同的部 ...

  7. 三星二级菜单_你变我也变,神奇的excel二级联动下拉菜单

    如下图所示,在手机列输入或选取苹果,型号下拉里会显示所有苹果手机的所有型号,如果手机列输入三星,在型号列下拉菜单显示所有三星的型号. 手机列选苹果: 手机列选取三星 同学们应该明白什么是二级下拉联动菜 ...

  8. dropdownlist三级联动怎么实现_Excel下拉菜单不会做?15秒教会你制作一二三级联动下拉菜单,从此做表不求人!...

    Hi,各位叨友们好呀!我是叨叨君~ 我们都知道,在使用Excel表格统计数据的时候,为了方便录入,通常会在Excel中设置下拉菜单,以便我们输入相同的内容. 那么,Excel中一级.二级.三级联动下拉 ...

  9. 菜鸟学Java(七)——Ajax+Servlet实现无刷新下拉联动

    下拉联动的功能可以说非常的常用,例如在选择省.市等信息的时候:或者在选择大类.小类的时候.总之,下拉联动很常用.今天就跟大家分享一个简单的二级下拉联动的功能. 大类下拉框:页面加载的时候就初始化大类的 ...

最新文章

  1. JAVA集合迭代遍历和特性介绍
  2. 前端月趋势榜:4 月最热门的 20 个前端开源项目 - 2104
  3. MySQL(2)----DDL语句之增、删、改、查操作
  4. c语言实现的学生信息查询系统
  5. excel软件的IF函数及其用法
  6. 计算机网络计算题:时延
  7. sqlite只能用于android系统,android SQLite
  8. 华为荣耀20s云服务_华为荣耀20s云服务_华为荣耀20和20s的区别
  9. php获取农历日期节日
  10. 鲁大师2023年Q3电脑排行:三足鼎立,PC圈一场旷日持久之战即将开启
  11. JS项目获取pc mac地址
  12. java校园快递代领系统 小程序
  13. java中的throw_java 中Throw能抛出的是什么?
  14. 京东校招java工程师_2017年京东校招Java研发笔试编程第1题
  15. ngrock内网穿透(Ngrok 和 Sunny-Ngrok )
  16. IDEA 出现问题:IDEA Shift+shift 万能搜索你也有失效的时候
  17. CentOS7 能ping通网关不能上网
  18. 证件照半身照合成服装PNG素材-463张
  19. 软件设计-扇入(fan-in)/扇出(fan-out)
  20. 【WLAN】【测试】IxChariot测试软件使用总结

热门文章

  1. 生成对抗网络(GAN)原理和实现
  2. python3 重新运行本程序_python3+PyQt5重新实现QT事件处理程序
  3. 小汤学编程之JAVA基础day01——JAVA基本概念、第一个JAVA程序
  4. Ruby中的Mixin
  5. linux系统中-E,-S,-c的区别和作用(怎么讲代码转化为机器识别的语言)
  6. 基于bootstrap的后台左侧导航菜单和点击二级菜单刷新二级页面时候菜单展开显示当前菜单...
  7. ES6--那些新加入的数组方法
  8. Mr.J--简易的判断输入两次密码是否一致(静态)
  9. 如何通过一个结构体成员变量的地址找到该结构体的首地址?[备忘]
  10. 音频编码:ADPCM