在制作destoon模板的时候,遇到调用地区两级联动,本来是想自己找个插件的。可是仔细一想,还是采用destoon系统内置的方法实现城市地区两级联动。经过自己仔细的研究终于找到了如何实现的方法,下面记录下来,便于以后查阅和复习。

一、php文件中的处理。

1)、在处理文件 *.inc.php 里面引入系统函数文件:

require DT_ROOT.'/include/post.func.php';

文件地址 include/post.func.php

二、前台模版的调用。

1)、在网站的头部引入下面的3个js文件。

2)、在需要调用的地方,插入下面的调用代码。

select表单代码: {ajax_area_select('post[areaid]', '请选择', 0,'class=pro')}

完成上面的步骤就可以完成城市地区的两级联动功能了,下面是简单的看下php中调用的函数。

ajax_area_select()函数是在post.func.php里面,主要使用的函数如下:

function ajax_area_select($name = 'areaid', $title = '', $areaid = 0, $extend = '', $deep = 0) {

global $area_id;

if($area_id) {

$area_id++;

}else{

$area_id = 1;

}

$areaid = intval($areaid);

$deep = intval($deep);

$select = '';

$select .= '';

$select .= '

'.get_area_select($title, $areaid, $extend, $deep, $area_id).'

';

$select .= '

if($area_id == 1) $select .= 'var area_title = new Array;';

$select .= 'area_title['.$area_id.']=\''.$title.'\';';

if($area_id == 1) $select .= 'var area_extend = new Array;';

$select .= 'area_extend['.$area_id.']=\''.$extend.'\';';

if($area_id == 1) $select .= 'var area_areaid = new Array;';

$select .= 'area_areaid['.$area_id.']=\''.$areaid.'\';';

if($area_id == 1) $select .= 'var area_deep = new Array;';

$select .= 'area_deep['.$area_id.']=\''.$deep.'\';';

$select .= '';

if($area_id == 1) $select .= '';

return $select;

}

function get_area_select($title = '', $areaid = 0, $extend = '', $deep = 0, $id = 1) {

global $db;

$parents = array();

if($areaid) {

$r = $db->get_one("SELECT child,arrparentid FROM {$db->pre}area WHERE areaid=$areaid");

$parents = explode(',', $r['arrparentid']);

if($r['child']) $parents[] = $areaid;

} else {

$parents[] = 0;

}

$select = '';

foreach($parents as $k=>$v) {

if($deep && $deep <= $k) break;

$v = intval($v);

$select .= '';

if($title) $select .= ''.$title.'';

$result = $db->query("SELECT areaid,areaname FROM {$db->pre}area WHERE parentid=$v ORDER BY listorder,areaid ASC");

while($a = $db->fetch_array($result)) {

$selectid = isset($parents[$k+1]) ? $parents[$k+1] : $areaid;

$selected = $a['areaid'] == $selectid ? ' selected' : '';

$select .= ''.$a['areaname'].'';

}

$select .= ' ';

}

return $select;

}

通过以上几个步骤就可以很轻松的在网站任意位置,使用城市地区两级联动的功能了。

destoon ajax_area_select,destoon城市地区两级联动相关推荐

  1. bootstrap select 插件两级联动

    2019独角兽企业重金招聘Python工程师标准>>> bootstrap select 插件两级联动 插件地址:http://silviomoreto.github.io/boot ...

  2. Android之两级联动点餐列表

    文章目录 前言 一.效果图 二.实现步骤 1.相关layout 2.相关adapter 3.自定义view 4.activity实现 总结 前言 此功能为两个listview相互联动,左边listvi ...

  3. 完整绘制echarts地图并实现两级联动(区-乡镇)

    本篇文章会记录如何完成地图两级联动,以及过程中遇到的一些问题,希望能帮到大家! 1.环境  <script src="https://s1.pstatp.com/cdn/expire- ...

  4. 怎么给el-select两级联动赋值_医保改革:支付范围、支付标准、支付方式的联动,大有可为...

    文 | 码万祺投稿邮箱:yiyao@yidu.sinanet.com◆  ◆  ◆提到医保支付改革,一般首先想到医保支付方式改革,比如火热进行的住院DRGs.DIP及门诊按人头付费.按绩效付费等.笔者 ...

  5. 安卓ListView选中后保持高亮状态,且两级联动带图标(升级版)

    在项目开发过程中,遇到了使用listView需要让选中项保持高亮状态(即选中状态保持不变),且数据是二级联动.由于item点击过后瞬间颜色就会恢复原状,视觉上感觉没有选中,此demo中通过改变选中后i ...

  6. DropDownList and ListBox 两级联动菜单

    有时候我们需要用到DropDownList 和Listbox作为连接菜单,第一个改变触发第二个数据绑定 然后获取选取值(这步很重要,往往很多能得到数据,但是却不被选中) 首先来看DropDownLis ...

  7. 全国车牌号所属地JSON(省及城市两级联动)

    [{"label": "北京","value": "京" }, {"label": "天津 ...

  8. layui实现动态获取两级联动数据

    效果图 功能描述:页面加载时动态获取一级类别数据,根据一级类别选中的数据项动态获取二级类别的数据,并回显. html模板 <div class="layui-inline"& ...

  9. mybatis 级联查询兑现_MyBatis之自查询使用递归实现 N级联动效果(两种实现方式)...

    A:首先先看下一个简单的面试题 斐波那契数列 计算数组{1,1,2,3,5,8.......} 第30位值 规律:1 1 从第三项开始,每一项都是前两项之和 有两种实现方式 第一种方式: public ...

  10. 【JQuery】使用JQuery实现城市两级或三级联动(下拉菜单)

    本文只要是通过使用JQuery实现城市(省.市.县)两级或三级联动,并使用下拉菜单展现.主要的代码如下: 1.在Controller中的代码: @RequestMapping(value=" ...

最新文章

  1. SAP RETAIL 使用事务代码MM41创建商品主数据时不能激活检验类型?
  2. pytorch 随机打乱
  3. java 通过反射获取调用类方法及属性
  4. pacemaker+corosync
  5. shell的logo含义_Shell(壳牌石油)标志历史
  6. 前端学习(3344):设计模式之工厂模式1
  7. Qt 给控件QLineEdit添加clicked事件方法
  8. 2月28日 PCA降维,SVD压缩,中心化、归一化、标准化、k-l变换
  9. socket.io html5 聊天,WebSocket探讨之——socket.io搭建多聊天室
  10. 创业经验点滴 五(转) 关于淘宝
  11. oracle查询特殊字符-escape
  12. linux群ping服务器各网段脚本
  13. Unity自定义UI组件(八) 颜色拾取器(上)
  14. 常见HTTP错误码模拟
  15. 如何理解word2vec,以及相应库的使用
  16. 兔子数列规律怎么讲_“兔子数列”的秘密
  17. oracle转义chr,oracle特殊字符替换用chr
  18. Python爬虫学习笔记 (11) [初级] 小练习 爬取Eason所有歌曲歌词 制作词云图
  19. API查q绑定带反查sgk带接口API文件源码
  20. 盘丝洞服务器维护,2010年8月3日定期维护公告 群雄逐鹿争霸赛

热门文章

  1. 佳能6d2无线链接计算机操作,玩转EOS 6D无线WiFi功能三步骤
  2. 南部龙凤小学:六一文艺表演
  3. 有关Android Studio模拟机无法联网解决办法(傻瓜粗暴方法)
  4. JVM_0.5_小故事
  5. c语言gets,getc,区分C语言中fgetc、getc、getchar、fgets、gets
  6. 中国无损探伤检测行业发展前景与投资战略规划分析报告2021-2027年
  7. 移动广告平台Android SDK接入指南
  8. RQ940服务器显示器不亮,稳定可靠 联想ThinkServer RQ940服务器
  9. 实现自动化测试,首先不是一个技术问题
  10. ECU软件开发介绍篇