thinkPHP实现的省市区三级联动功能示例

2025-05-29 0 89

本文实例讲述了thinkPHP实现的省市区三级联动功能。分享给大家供大家参考,具体如下:

一张表实现省市区三级联动【3409条数据】

1. php代码:

?

1

2

3

4

5

6

7

8

9

10

11

12
public function index(){

$province = M('Tree')->where ( array('pid'=>1) )->select ();

$this->assign('province',$province);

$this->display();

}

public function getRegion(){

$Region=M("Tree");

$map['pid']=$_REQUEST["pid"];

$map['type']=$_REQUEST["type"];

$list=$Region->where($map)->select();

echo json_encode($list);

}

2. HTML代码:

?

1

2

3

4

5

6

7

8

9

10
<select name="province" id="province" onchange="loadRegion('province',2,'city','{:U('Index/getRegion')}');">

<option value="0" selected>省份/直辖市</option><volist name="province" id="vo">

<option value="{$vo.id}" >{$vo.name}</option></volist>

</select>

<select name="city" id="city" onchange="loadRegion('city',3,'town','{:U('Index/getRegion')}');">

<option value="0">市/县</option>

</select>

<select name="town" id="town">

<option value="0">镇/区</option>

</select>

3. javascript代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20
function loadRegion(sel,type_id,selName,url){

jQuery("#"+selName+" option").each(function(){

jQuery(this).remove();

});

jQuery("<option value=0>请选择</option>").appendTo(jQuery("#"+selName));

if(jQuery("#"+sel).val()==0){

return;

}

jQuery.getJSON(url,{pid:jQuery("#"+sel).val(),type:type_id},

function(data){

if(data){

jQuery.each(data,function(idx,item){

jQuery("<option value="+item.id+">"+item.name+"</option>").appendTo(jQuery("#"+selName));

});

}else{

jQuery("<option value='0'>请选择</option>").appendTo(jQuery("#"+selName));

}

}

);

}

4. SQL代码:

?

1

2

3

4

5

6

7

8
DROP TABLE IF EXISTS `tp_tree`;

CREATE TABLE `tp_tree` (

`id` int(5) unsigned NOT NULL AUTO_INCREMENT,

`pid` int(5) unsigned NOT NULL DEFAULT '0',

`name` varchar(120) DEFAULT NULL,

`type` tinyint(1) DEFAULT '2',

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=3410 DEFAULT CHARSET=utf8;

5. TP_tree.sql文件点击此处本站下载

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 thinkPHP实现的省市区三级联动功能示例 https://www.kuaiidc.com/94705.html

相关文章

发表评论
暂无评论