首先是数据库的设计。
我所做的是
分类数据的两级链接。所需的数据是id、name(
中文名称)和PID(父ID)。
父id的
设置:如果数据不在上层,父ID是0,如果有上级,父ID是上层的ID。
数据库有了内容之后,就可以开始编写两级链接的实现代码了。
首先,在后台PHP把所有PID 0数据,存储到$美食,然后
运行输出在第一层使用foreach。
HTML代码:
复制代码代码如下所示:
请选择
类型 { $ v.ca_name }
标签uff1a
Ajax代码:
复制代码代码如下所示:
$(#型)。Click(function(){)
$(this)。更改(
函数(){)
VaR模型= { };
var值= $(这个)。瓦迩();
变量类型= $(this)。Attr('id');
{ } =值类型对象模型;
$ ajax({
缓存:false,
类型:邮政
网址:
网站。网站+ 标签
DataType:JSON
数据对象模型,
超时时间:30000,
错误:函数(){
警报(网站。网站+标签);
},
成功:函数(数据){
$(#标签)空();
VaR计算= data.length;
var I=0;
var;
对于(i = 0;i <计数;i + +){
B + = +数据{我}。ca_name + ;
}
$(#标签)添加(B);
}
});
});
}
);
Ajax代码在第一层类型更改后触发,Ajax
方法的主要
参数是
的1.url:后台接收的Ajax的
地址;
数据2.data:通过
背景一般是通过JSON;这是选定类的ID值。
3.type:转移方法有GET和POST方法,我一般使用后,可以
传输数据比获得,更高的安全性;
4错误的
执行方法:ajax;
成功之道:Ajax执行成功的是回调函数,当我执行成功时,我清空第二个下拉菜单的内容为空(),然后输出从后台获得的数据(5)。
以下是
网页,接收并
处理Ajax数据ThinkPHP
复制代码代码如下所示:
后台验证
结果=数组();
美食_post美元美元= {};
结果= M('cate美元的)->哪里(阵列('ca_pid= > $美食))->现场('ca_id,ca_name)->选择();
美元-> ajaxreturn(美元的结果,json);
Thinkphp(我)的方法可以达_post {},所以把Ajax经过选择的内容ID的第一层,然后让子类,然后ajaxreturn()返回到Ajax,在JSON的形式返回数据,所以Ajax将JSON的形式接收数据
本地PHP的返回数据
模式:
复制代码代码如下所示:
搜索结果
的…
回声json_encode($结果);
这就完成了2级联动下拉菜单的实现。需要注意的是,URL必须确保接收到背景信息,还需要有返回值。否则,Ajax不会执行成功。