zoukankan      html  css  js  c++  java
  • Yii2.0 实现三级联动 [ 2.0 版本 ]

    view中代码

    <?php
    use yiibootstrapActiveForm;
    
    /* @var $this yiiwebView */
    /* @var $form yiiootstrapActiveForm */
    ?>
    
    <?php $form = ActiveForm::begin(['enableClientValidation' => false]);?>
    
    <?= $form->field($model,'province')->dropDownList($model->getCityList(0),
        [
            'prompt'=>'--请选择省--',
            'onchange'=>'
                $(".form-group.field-member-area").hide();
                $.post("'.yii::$app->urlManager->createUrl('member/site').'?typeid=1&pid="+$(this).val(),function(data){
                    $("select#member-city").html(data);
                });',
        ]) ?>
    
    <?= $form->field($model, 'city')->dropDownList($model->getCityList($model->province),
        [
            'prompt'=>'--请选择市--',
            'onchange'=>'
                $(".form-group.field-member-area").show();
                $.post("'.yii::$app->urlManager->createUrl('member/site').'?typeid=2&pid="+$(this).val(),function(data){
                    $("select#member-area").html(data);
                });',
        ]) ?>
    <?= $form->field($model, 'area')->dropDownList($model->getCityList($model->city),['prompt'=>'--请选择区--',]) ?>
    <?php ActiveForm::end();?>
    

    model中添加下面的函数

        /**
         * @param $pid
         * @return array
         */
        public function getCityList($pid)
        {
            $model = City::findAll(array('pid'=>$pid));
            return ArrayHelper::map($model, 'id', 'name');
        }
    

    控制器中添加下面的代码:

        /**
         * Function output the site that you selected.
         * @param int $pid
         * @param int $typeid
         */
        public function actionSite($pid, $typeid = 0)
        {
            $model = new Member();
            $model = $model->getCityList($pid);
    
            if($typeid == 1){$aa="--请选择市--";}else if($typeid == 2 && $model){$aa="--请选择区--";}
    
            echo Html::tag('option',$aa, ['value'=>'empty']) ;
    
            foreach($model as $value=>$name)
            {
                echo Html::tag('option',Html::encode($name),array('value'=>$value));
            }
        }
    

    City数据库结构:

    /*
    Navicat MySQL Data Transfer
    
    Source Server         : MySQL
    Source Server Version : 50624
    Source Host           : localhost:3306
    Source Database       : yii2advanced
    
    Target Server Type    : MYSQL
    Target Server Version : 50624
    File Encoding         : 65001
    
    Date: 2015-07-13 14:27:12
    */
    
    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for yii2_city
    -- ----------------------------
    DROP TABLE IF EXISTS `yii2_city`;
    CREATE TABLE `yii2_city` (
      `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
      `pid` smallint(5) unsigned NOT NULL DEFAULT '0',
      `name` varchar(120) NOT NULL DEFAULT '',
      PRIMARY KEY (`id`),
      KEY `parent_id` (`pid`)
    ) ENGINE=MyISAM AUTO_INCREMENT=3410 DEFAULT CHARSET=utf8;
  • 相关阅读:
    uptime---系统总共运行时间和系统的平均负载
    top---实时动态地查看系统的整体运行情况
    dmesg---检查和控制内核的环形缓冲区
    sysctl---内核参数相关设置
    C++笔记011:C++对C的扩展——变量检测增强
    C++笔记010:C++对C的扩展——register关键字增强
    C++笔记009:C++对C的扩展——“实用性”增加
    C++笔记008:C++对C的扩展——命名空间 namespace基础
    C++笔记007:易犯错误模型——类中为什么需要成员函数
    C++笔记006:关于类的补充
  • 原文地址:https://www.cnblogs.com/bluealine/p/5277724.html
Copyright © 2011-2022 走看看