Yii2中DropDownList简单用法示例


Posted in PHP onJuly 18, 2016

本文实例讲述了Yii2中DropDownList简单用法。分享给大家供大家参考,具体如下:

这里以实际应用为例讲解Yii2 DropDownList用法。

有一张分类表,无限极分类那种,表结构如下,pid就是父分类ID
这里我们要实现:

新建分类的时候,父分类可以从所有分类中任选一个或者不选

编辑分类时,父分类不能选择当前编辑的分类。。。如果选自己,父分类就是自己了,必然出错!

实现代码如下,我就贴上form的全部代码吧

<?php
use common\models\Category;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\models\Category */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="category-form">
  <div class="row">
    <?php
    if (!$model->isNewRecord) {//如果是编辑分类
      $cate = ArrayHelper::map(Category::find()->andWhere('id != :id', [':id' => $model->id])->all(), 'id', 'title');
    } else {//如果是新建分类
      $cate = ArrayHelper::map(Category::find()->all(), 'id', 'title');
    }
    ?>
    <div class="col-md-6 col-md-offset-3">
      <?php $form = ActiveForm::begin(); ?>
      <?= $form->field($model, 'title')->textInput(['maxlength' => 100])->label("分类标题") ?>
      <?= $form->field($model, 'name')->textInput(['maxlength' => 100])->label("分类别名") ?>
      <?= $form->field($model, 'pid')->dropDownList($cate, ['prompt' => '请选择父分类'])->label("父分类") ?>
      <?= $form->field($model, 'keywords')->textarea(['maxlength' => 255])->label("分类关键词") ?>
      <?= $form->field($model, 'description')->textarea(['maxlength' => 255])->label("分类描述") ?>
      <div class="form-group">
        <div class="row">
          <div class="col-md-6 col-md-offset-3">
            <?= Html::submitButton($model->isNewRecord ? '创建' : '更新', ['class' => $model->isNewRecord ? 'btn btn-block btn-success' : 'btn btn-block btn-primary']) ?>
          </div>
        </div>
      </div>
      <?php ActiveForm::end(); ?>
    </div>
  </div>
</div>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
mysq GBKl乱码
Nov 28 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
学习PHP session的传递方式
Jun 15 PHP
php简单统计中文个数的方法
Sep 30 PHP
理清PHP在Linxu下执行时的文件权限方法
Jun 07 PHP
PDO操作MySQL的基础教程(推荐)
Aug 18 PHP
PHP正则表达式笔记与实例详解
May 09 PHP
Laravel 验证码认证学习记录小结
Dec 20 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 #PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 #PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
Jul 18 #PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 #PHP
Yii2.0表关联查询实例分析
Jul 18 #PHP
php 实现301重定向跳转实例代码
Jul 18 #PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 #PHP
You might like
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
jQuery简单实现图片预加载
2015/04/20 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
Python lambda表达式用法实例分析
2018/12/25 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
使用C#编写创建一个线程的代码
2013/01/22 面试题
实习生体会的自我评价范文
2013/11/28 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
校庆活动策划方案
2014/06/05 职场文书
运动会宣传口号
2014/06/09 职场文书
计算机实训报告总结
2014/11/05 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
Golang二维数组的使用方式
2021/05/28 Golang
pytorch 权重weight 与 梯度grad 可视化操作
2021/06/05 Python