destoon ajax_area_select,destoon城市地区两级联动
在制作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 .= '
';
$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城市地区两级联动相关推荐
- bootstrap select 插件两级联动
2019独角兽企业重金招聘Python工程师标准>>> bootstrap select 插件两级联动 插件地址:http://silviomoreto.github.io/boot ...
- Android之两级联动点餐列表
文章目录 前言 一.效果图 二.实现步骤 1.相关layout 2.相关adapter 3.自定义view 4.activity实现 总结 前言 此功能为两个listview相互联动,左边listvi ...
- 完整绘制echarts地图并实现两级联动(区-乡镇)
本篇文章会记录如何完成地图两级联动,以及过程中遇到的一些问题,希望能帮到大家! 1.环境 <script src="https://s1.pstatp.com/cdn/expire- ...
- 怎么给el-select两级联动赋值_医保改革:支付范围、支付标准、支付方式的联动,大有可为...
文 | 码万祺投稿邮箱:yiyao@yidu.sinanet.com◆ ◆ ◆提到医保支付改革,一般首先想到医保支付方式改革,比如火热进行的住院DRGs.DIP及门诊按人头付费.按绩效付费等.笔者 ...
- 安卓ListView选中后保持高亮状态,且两级联动带图标(升级版)
在项目开发过程中,遇到了使用listView需要让选中项保持高亮状态(即选中状态保持不变),且数据是二级联动.由于item点击过后瞬间颜色就会恢复原状,视觉上感觉没有选中,此demo中通过改变选中后i ...
- DropDownList and ListBox 两级联动菜单
有时候我们需要用到DropDownList 和Listbox作为连接菜单,第一个改变触发第二个数据绑定 然后获取选取值(这步很重要,往往很多能得到数据,但是却不被选中) 首先来看DropDownLis ...
- 全国车牌号所属地JSON(省及城市两级联动)
[{"label": "北京","value": "京" }, {"label": "天津 ...
- layui实现动态获取两级联动数据
效果图 功能描述:页面加载时动态获取一级类别数据,根据一级类别选中的数据项动态获取二级类别的数据,并回显. html模板 <div class="layui-inline"& ...
- mybatis 级联查询兑现_MyBatis之自查询使用递归实现 N级联动效果(两种实现方式)...
A:首先先看下一个简单的面试题 斐波那契数列 计算数组{1,1,2,3,5,8.......} 第30位值 规律:1 1 从第三项开始,每一项都是前两项之和 有两种实现方式 第一种方式: public ...
- 【JQuery】使用JQuery实现城市两级或三级联动(下拉菜单)
本文只要是通过使用JQuery实现城市(省.市.县)两级或三级联动,并使用下拉菜单展现.主要的代码如下: 1.在Controller中的代码: @RequestMapping(value=" ...
最新文章
- SAP RETAIL 使用事务代码MM41创建商品主数据时不能激活检验类型?
- pytorch 随机打乱
- java 通过反射获取调用类方法及属性
- pacemaker+corosync
- shell的logo含义_Shell(壳牌石油)标志历史
- 前端学习(3344):设计模式之工厂模式1
- Qt 给控件QLineEdit添加clicked事件方法
- 2月28日 PCA降维,SVD压缩,中心化、归一化、标准化、k-l变换
- socket.io html5 聊天,WebSocket探讨之——socket.io搭建多聊天室
- 创业经验点滴 五(转) 关于淘宝
- oracle查询特殊字符-escape
- linux群ping服务器各网段脚本
- Unity自定义UI组件(八) 颜色拾取器(上)
- 常见HTTP错误码模拟
- 如何理解word2vec,以及相应库的使用
- 兔子数列规律怎么讲_“兔子数列”的秘密
- oracle转义chr,oracle特殊字符替换用chr
- Python爬虫学习笔记 (11) [初级] 小练习 爬取Eason所有歌曲歌词 制作词云图
- API查q绑定带反查sgk带接口API文件源码
- 盘丝洞服务器维护,2010年8月3日定期维护公告 群雄逐鹿争霸赛
热门文章
- 佳能6d2无线链接计算机操作,玩转EOS 6D无线WiFi功能三步骤
- 南部龙凤小学:六一文艺表演
- 有关Android Studio模拟机无法联网解决办法(傻瓜粗暴方法)
- JVM_0.5_小故事
- c语言gets,getc,区分C语言中fgetc、getc、getchar、fgets、gets
- 中国无损探伤检测行业发展前景与投资战略规划分析报告2021-2027年
- 移动广告平台Android SDK接入指南
- RQ940服务器显示器不亮,稳定可靠 联想ThinkServer RQ940服务器
- 实现自动化测试,首先不是一个技术问题
- ECU软件开发介绍篇