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的栏目导航程序
Oct 09 PHP
php 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
php实现点击可刷新验证码
Nov 07 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
PHP实现添加购物车功能
Mar 06 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
TP5框架简单登录功能实现方法示例
Oct 31 PHP
浅谈如何提高PHP代码质量之单元测试
May 28 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
解析wamp5下虚拟机配置文档
2013/06/27 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
HTTP状态代码以及定义(解释)
2007/02/02 Javascript
JS跨域代码片段
2012/08/30 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
横向对比分析Python解析XML的四种方式
2016/03/30 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python重新加载模块的实现方法
2018/10/16 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
python实现logistic分类算法代码
2020/02/28 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
Linux的文件类型
2012/03/07 面试题
乡镇党建工作汇报材料
2014/08/14 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
JavaScript实现音乐播放器
2022/08/14 Javascript