YII+DWZ三级城市联动挂件
挂件PHP文件
class CountryCityCombox extends RXWidget {
public $provinceId = 2;
public $cityId = 3687;
public $regionId = 64;
public $level = 3; //限定联动层级 为2说明是2级联动
public function init() {
$this->provinceId = intval ( $this->provinceId );
$this->cityId = intval ( $this->cityId );
$this->regionId = intval ( $this->regionId );
$this->level = intval( $this->level );
}
public function run() {
$province = Area::model ()->province()->findAll ();
$province = CHtml::listData ( $province, 'id', 'name' );
$city = array ();
if($this->provinceId) {
// city record
$cri = new CDbCriteria ();
$cri->condition = 'pid=:pid';
$cri->params = array (
':pid' => $this->provinceId
);
$city = Area::model ()->findAll ( $cri );
$city = CHtml::listData ( $city, 'id', 'name' );
}
$region = array ();
if($this->cityId) {
//init region
// city record
$cri = new CDbCriteria ();
$cri->condition = 'pid=:pid';
$cri->params = array (
':pid' => $this->cityId
);
$region = Area::model ()->findAll ( $cri );
$region = CHtml::listData ( $region, 'id', 'name' );
}
$views = array();
$views['ccc_province'] = array (0 => '请选择省') + $province;
$views['ccc_provinceId'] = $this->provinceId;
$views['ccc_city'] = array (0 => '选择城市') + $city;
$views['ccc_cityId'] = $this->cityId ;
if ($this->level != 2) {
$views['ccc_region'] = array (0 => '选择区') + $region;
$views['ccc_regionId'] = $this->regionId ;
}
$views['level'] = $this->level;
$this->render ( 'countrycitycombox', $views);
}
}
挂件视图文件
<label>选择地区:</label> <?php
$t = time () . uniqid ();
$htmlOptions = array (
'class' => 'combox',
'ref' => 'combox_city' . $t,
'refUrl' => 'area/get?id={value}',
'id' => 'provinceId' . $t
); echo CHtml::DropDownList ( 'provinceId', $ccc_provinceId, $ccc_province, $htmlOptions );
?> <?php
$htmlOptions = array (
'class' => 'combox',
'ref' => 'combox_region' . $t,
'refUrl' => 'area/get?id={value}',
'id' => 'combox_city' . $t
); echo CHtml::DropDownList ( 'cityId', $ccc_cityId, $ccc_city, $htmlOptions ); $htmlOptions = array (
'class' => 'combox',
'id' => 'combox_region' . $t
);
if ($level != 2) {
echo CHtml::DropDownList ( 'regionId', $ccc_regionId, $ccc_region, $htmlOptions );
}
挂件视图调用
一.2级联动
$widget=$this->Widget('CountryCityCombox',array(
'level'=>2
));
二.3级联动
$widget=$this->Widget('CountryCityCombox');
YII+DWZ三级城市联动挂件的更多相关文章
- 全国三级城市联动 js版
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- thinkPHP三级城市联动
html+js: <!doctype html> <html lang="en"> <head> <meta charset=" ...
- JQUERY省、市、县城市联动选择
JQUERY 插件开发——CITYLINKAGE(省.市.县城市联动选择) 第一部分:背景 开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前 ...
- JS中简单的二级城市联动
代码奉上: <!DOCTYPE html><html><head> <meta charset="UTF-8"> < ...
- Jquery 插件开发——citylinkage(省、市、县城市联动选择)
第一部分:背景 开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前呢,一直想写这个插件,然后错过了一个写这个插件的机会(这个得回顾到很久以前了. ...
- 城市联动 - 自动生成SQL语句
字段比较简单/ 如果有需要可以自己定制字段和排序/ 一共二级城市联动, 本人业务需要, 所以就两层, 网上关于三层的挺多, 有需要可以借鉴/ 废话不多说, 先看效果图, 代码在下面 <?php ...
- JQuery+Ajax实战三级下拉列表联动(八)
本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: publi ...
- java基础68 JavaScript城市联动框(网页知识)
1.城市联动框 <!doctype html> <html> <head> <meta charset="utf-8"> <t ...
- 基于jQuery+ashx+.net实现三级栏目联动操作
父级ID可以为空以两个编号为一级 可以添加到第四级 table 字段有ID. name .parentNode. childNode等基本属性 selecet parentNode ,len(c ...
随机推荐
- spring boot快速入门 4: jpa数据库操作 实现增删改查
spring boot jpa逆向生成表 简单实例: 第一步:pom文件: <?xml version="1.0" encoding="UTF-8"?&g ...
- Check类之TypeValidation
(1)Validator类的visitTypeApply()方法 实例1: class TestTypeVal<T extends InputStream>{ TestTypeVal< ...
- Java类文件结构及javac的ClassReader类解读
首先来看一下ClassFile,类注释如下: A JVM class file. Generic Java classfiles have one additional attribute for c ...
- Window10安装Django,并创建第一个Django项目
1.在cmd中输入pip install Django==1.11.7,安装的版本为:1.11.7. 2.安装完成后输入: >>> import django >>> ...
- Ubuntu系统Apache Maven安装
操作系统:Linux x64 / Ubuntu 14.04 Apache Maven版本:3.3.9 建议预先搭建Java开发环境:详见上一篇<Linux Ubuntu系统下Java开发环境搭建 ...
- vue做的简单购物车
<code><!DOCTYPE html><html><head lang="en"> <meta charset=" ...
- WPF带占位符的TextBox
简介 效果图如下: 使用的XAML代码如下: <Window x:Class="PlaceHolderTextBox.MainWindow" xmlns="http ...
- 最新的dubbo和zookeeper整合的问题
最新的dubbo和zookeeper整合的问题 生活本不易,流人遂自安 博主最新在做小项目练手,在进行dubbo和zookeeper整合的时候遇到了一些问题,在这里这些问题做个小总结吧. 首先需要说明 ...
- Zookeeper配置要点必看
注意点 zookeeper需要在各个节点的机器上搭建,它的启动也要在各个节点的$ZOOKEEPER_HOME/bin 下启动. 环境搭建 下载安装包并解压. 在$ZOOKEEPER_HOME/conf ...
- oracle lpad rpad函数
学习并记录 1.情况一 ) from dual; 运行结果如下: email长度5,默认添加3个空格在左边 2.情况二 ) from dual; 运行结果如下: email长度5,截取2两个字符 3. ...