当前位置:首页 > 文章 > 帝国CMS > 正文内容

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

3年前 (2022-10-21)帝国CMS5614

第一步:后台添加三个数据表字段

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

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

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

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

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

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

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

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

第三步:打开e/admin/AddNews.php 把以下代码粘贴到结尾的随便位置即可

<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编码,其他请自己转码

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

在前台显示位置添加一下代码可筛选查,注意两个JS路径

<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>

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

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/637.shtml

“帝国CMS7.5实现地区三级联动并且前台可地区筛选的教程” 的相关文章

帝国cms远程图片本地化不生效原因以及解决方法

帝国cms远程图片本地化不生效原因以及解决方法

帝国cms远程图片本地化不生效原因1、图片格式和大小设置问题帝国默认的图片格式不包括png,但是我们现在qq截图等都是png图片格式,加进去即可,假如源站的图片格式帝国后台没有,那肯定保存不了了。系统参数设置——文件设置——文件扩展名同时设置可以上传图片大小。2、服务器配置问题需要在php.in中把...

帝国cms搜索模板无缓存使用多个搜索模板

帝国cms搜索模板无缓存使用多个搜索模板

网站中用到两个甚至多个搜索模板,在搜索代码中除了会设置指定的模板id以外,还需要更改以下内容,目的就为了解决缓存问题,比如说,用户可能是在搜索“模板”图文列表后,再去搜“教程”,搜索列表显示的还是之前“模板”的搜索模板。提醒大家一定要先备份哟!教程如下: 将以下内容替换到/e/search/resu...

帝国CMS专题页面调用当前专题页面地址

帝国CMS专题页面调用当前专题页面地址

当前专题页面地址 <?=$public_r[newsurl]?><?=$class_zr[$GLOBALS[navclassid]][ztpath]?> <?=$public_r[newsurl]?>网站地址 <?=$class_zr[$GLOBALS[n...

帝国CMS调用读取当天发布信息

帝国CMS调用读取当天发布信息

在帝国cms模板中,某些位置要调用当天发布的信息数量,但是不知道怎么调用实现,下面就来告诉大家怎么调用: 调用代码: <?php   $timedays=strtotime(date("Y-m-d",time()));//今天0点的时间点   $timedaye=$timedays+3600...

帝国CMS自定义页面用PHP获取页面ID页面名称标题关键词描述内容等变量

帝国CMS自定义页面用PHP获取页面ID页面名称标题关键词描述内容等变量

帝国CMS自定义页面模板里面怎么调用页面名称,页面标题,关键词,描述,内容的方法! 方法一、获取自定义页面的页面ID,用以下代码: <?php    $pageid=str_replace("page","",$classid); ?> 在帝国CMS中,自定义页面的页面ID好像是唯一开...

帝国CMS列表页调用关键词带链接

帝国CMS列表页调用关键词带链接

帝国CMS列表页新闻关键词带链接的调用方法,一起来看看吧: 勾选【使用程序代码】: $keyboard=$r[keyboard]; $r_tag=explode(",",$keyboard); $tempid=1;//这里是搜索模板ID for($i=0;$i<count($r_tag);$...