东方星雨

简单网络

一个爱好网络的80后男站长。

关注我东方星雨个人微信号:476847113

您现在的位置是:首页 > 站长日志

帝国CMS7.2实现地区三级联动并且前台可地区筛选的教程

2018-03-26 站长 站长日志

 帝国CMS的三级联动一直是个痛,以前一流资源网站长有分享过一篇“帝国CMS可自定义数据的三级联动选择功能教程”非常好用,

今天再分享一款 三级联动代码,同样可以自定义数据,并且附上前台根据三级地区筛选的功能示例代码:

第一步:

后台添加三个数据表字段

字段名:pro   字段标识:省    输入表单替换html代码:  

1 <select name="pro"></select>

字段名:city  字段标识:市    输入表单替换html代码:

1 <select name="city"></select>

字段名:area  字段标识:县    输入表单替换html代码:

1 <select name="area"></select>

第二步:

建立完毕后,在到 管理系统模型  修改生成相应的表单!

三个字段设为 提交项 可添加 修改   列表显示  结合项

 

第三步:

打开e/admin/AddNews.php

把以下代码粘贴到  结尾的随便位置即可

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <script type="text/javascript" src="selects.js"></script> <script type="text/javascript" src="data_china.js"></script> <script type="text/javascript"> var s = selects; //获取对象 var p = document.getElementsByName('pro')[0];//省 var c = document.getElementsByName('city')[0];//市 var a = document.getElementsByName('area')[0];//区 //绑定数据 s.bind(p,province); s.bind(c,city); s.bind(a,area); //确定从属关系 s.parent(p,c); s.parent(c,a); //设置默认值 s.selected(p,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r[pro]))?>'}); s.selected(c,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r[city]))?>'}); s.selected(a,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r[area]))?>'}); </script>

第四步:

下载附件两个JS上传到e/admin/   JS为UTF-8编码,其他请自己转码

到此后台已经实现添加内容三级联动

 

在前台显示位置添加一下代码可筛选查

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <script type="text/javascript" src="[!--news.url--]js/selects.js"></script>        <script type="text/javascript" src="[!--news.url--]js/data_china.js"></script>                           <form method="get" action="[!--news.url--]e/action/ListInfo.php">                <input value="10" type="hidden" name="mid">               <input value="17" type="hidden" name="classid">               <input value="1" type="hidden" name="ph">               <input value="12" type="hidden" name="tempid">                                   <select name="pro"></select>                  <select name="city"></select>                  <select name="area"></select>                  <INPUT value="确定" type="submit" name="提交">                 </FORM>             <script type="text/javascript"> var s = selects; //获取对象 var p = document.getElementsByName('pro')[0];//省 var c = document.getElementsByName('city')[0];//市 var a = document.getElementsByName('area')[0];//区 //绑定数据 s.bind(p,province); s.bind(c,city); s.bind(a,area); //确定从属关系 s.parent(p,c); s.parent(c,a); //设置默认值 s.selected(p,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r[pro]))?>'}); s.selected(c,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r[city]))?>'}); s.selected(a,{value:'<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r[area]))?>'}); </script>

注意两个JS路径

 

住:四个默认字段mid是模型ID,classid是栏目ID,tempid是列表所使用的模板标签ID,ph是结合项,ph参数是必须等于1的,表示使用结合项,否则不能筛选

 

QQ截图20151013170252.jpg

JS代码下载:

16css_com_1451398944879259.zip
文件类型: .zip 9aa453d6154306756347fa5c7183651f.zip (21.62 KB)

 

上一篇: 帝国CMS可自定义数据的三级联动选择功能教程

下一篇:帝国CMS在JS调用登陆状态模板中调用显示会员收到的短消息数

文章评论