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 19 PHP
php的一个简单加密解密代码
Jan 14 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
php 删除cookie方法详解
Dec 01 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
PHP文件操作方法汇总
Jul 01 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP编程求最大公约数与最小公倍数的方法示例
May 29 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 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 SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python zip()函数用法实例分析
2018/03/17 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
数据库连接池的工作原理
2012/09/26 面试题
销售顾问的岗位职责
2013/11/13 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
护理专业自荐书
2014/06/04 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2014年林业工作总结
2014/12/05 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书