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实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
Apr 23 PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 PHP
Php中文件下载功能实现超详细流程分析
Jun 13 PHP
php 对输入信息的进行安全过滤的函数代码
Jun 29 PHP
php操作mysqli(示例代码)
Oct 28 PHP
php后门URL的防范
Nov 12 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
使用Composer安装Yii框架的方法
Mar 15 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP Trait功能与用法实例分析
Jun 03 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 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
JavaScript简单编程实例学习
2020/02/14 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
python开发利器之ulipad的使用实践
2017/03/16 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
建筑专业自我鉴定
2013/10/22 职场文书
食堂个人先进事迹
2014/01/22 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
出生医学证明书
2014/09/15 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
工作简历自我评价
2015/03/11 职场文书
海上钢琴师观后感
2015/06/03 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书