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&amp;&amp;mysql)一
Oct 09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
ThinkPHP模板比较标签用法详解
Jun 30 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
深入浅出php socket编程
May 13 PHP
PHP7正式版测试,性能惊艳!
Dec 08 PHP
CI框架表单验证实例详解
Nov 21 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
javascript显示选择目录对话框的代码
2008/11/10 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
React中使用UMEditor的方法示例
2019/12/27 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
[39:52]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第一场
2018/04/04 DOTA
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python对url格式解析的方法
2015/05/13 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
python实现textrank关键词提取
2018/06/22 Python
python实现排序算法解析
2018/09/08 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python如何变换环境
2020/07/21 Python
美国女孩服装购物网站:Justice
2017/03/04 全球购物
电气专业应届生求职信
2013/11/01 职场文书
法人授权委托书范本
2014/04/04 职场文书
redis限流的实际应用
2021/04/24 Redis
Python selenium的这三种等待方式一定要会!
2021/06/10 Python