挂件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三级城市联动挂件的更多相关文章

  1. 全国三级城市联动 js版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. thinkPHP三级城市联动

    html+js: <!doctype html> <html lang="en"> <head> <meta charset=" ...

  3. JQUERY省、市、县城市联动选择

    JQUERY 插件开发——CITYLINKAGE(省.市.县城市联动选择) 第一部分:背景   开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前 ...

  4. JS中简单的二级城市联动

    代码奉上: <!DOCTYPE html><html><head>    <meta charset="UTF-8">    < ...

  5. Jquery 插件开发——citylinkage(省、市、县城市联动选择)

    第一部分:背景  开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前呢,一直想写这个插件,然后错过了一个写这个插件的机会(这个得回顾到很久以前了. ...

  6. 城市联动 - 自动生成SQL语句

    字段比较简单/  如果有需要可以自己定制字段和排序/ 一共二级城市联动, 本人业务需要, 所以就两层, 网上关于三层的挺多, 有需要可以借鉴/ 废话不多说, 先看效果图, 代码在下面 <?php ...

  7. JQuery+Ajax实战三级下拉列表联动(八)

    本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: publi ...

  8. java基础68 JavaScript城市联动框(网页知识)

    1.城市联动框 <!doctype html> <html> <head> <meta charset="utf-8"> <t ...

  9. 基于jQuery+ashx+.net实现三级栏目联动操作

    父级ID可以为空以两个编号为一级 可以添加到第四级 table 字段有ID. name .parentNode. childNode等基本属性  selecet  parentNode  ,len(c ...

随机推荐

  1. Mono for android彻底退出程序

    江门-花哥(996777016) 2013/8/11 12:00:54怎样彻底退出程序?求代码我用这个代码,退出不了,打开进程管理器,进程还在运行北京-穷丫小子(55413726) 2013/8/11 ...

  2. 没事用html5 canvas画一个仪表盘自用,自适应的哦

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Normalize.css – HTML5-ready 的css重置样式集

    Normalize.css 是一个可定制的 css文件,使浏览器呈现的所有元素,更一致和符合现代标准.它正是针对只需要统一的元素样式.该项目依赖于研究浏览器默认元素风格之间的差异,精确定位需要重置的样 ...

  4. Git克隆与更新代码

    一.克隆项目 除了可以向GitHub上提交项目外,更多的时候是我们到上面克隆(下载)优秀的开源项目来用,当然也可以将使用过程中发现的bug,通过建立分支的方式提交给项目的原作者. 现在的场景是在家将项 ...

  5. MYSQL的NOW和SYSDATE函数的区别

    在MySQL Performance Blog博客上看到一篇文章介绍now()和sysdate()函数. 想起很多朋友专门问在MySQL里面提供now()和sysdate()函数,都是表示取得当前时间 ...

  6. Linux下批量修改文件及文件夹所有者及权限

    Linux下批量修改文件及文件夹所有者及权限需要使用到两个命令,chmod以及chown 例:对/opt/Oracle/目录下的所有文件与子目录执行相同的权限变更: chmod -R 700 /opt ...

  7. EntityFrameworkCode 操作MySql 相关问题

    近段时间,由于工作原因,使用到了EntityFrameworkCore 操作MySql数据库,使用中遇到一些问题,特此记录 系统环境 Win10 1805,VS 2017,Framework:Asp. ...

  8. java C# objective-c AES对称加解密

    /** * AES加解密 */ public class AESHelper { final static String AES_KEY = "43hr8fhu34b58123"; ...

  9. Universal App图片文件和图片byte[]信息转换为bitmap

    1. 打开图片文件并转换为BitmapImage类 首先要做的自然是打开一个图片文件了,可以使用FileOpenPicker来手动选择图片,总之能拿到一个StorageFile都行. //打开图片选择 ...

  10. 个人开源项目之异步Http线程池框架

    项目开源于:https://github.com/HouZhiHouJue/AsyncHttpThreadPool 示意图: