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 相关文章推荐
php自动注册登录验证机制实现代码
Dec 20 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
Aug 23 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP多维数组指定多字段排序的示例代码
May 16 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 PHP
PHP执行普通shell命令流程解析
Aug 24 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
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
django celery redis使用具体实践
2019/04/08 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
护士毕业自我鉴定
2014/02/07 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
门市房租房协议书
2014/12/04 职场文书