ThinkPHP使用心分享-ThinkPHP+Ajax实现2级联动下拉菜单

ThinkPHP使用心分享-ThinkPHP+Ajax实现2级联动下拉菜单
首先是数据库的设计。

我所做的是分类数据的两级链接。所需的数据是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不会执行成功。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部