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设计模式 注册表模式(多个类的注册)
Feb 05 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
php的api数据接口书写实例(推荐)
Sep 22 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
php实现推荐功能的简单实例
Sep 29 PHP
laravel 5.3 单用户登录简单实现方法
Oct 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
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
javascript读取xml
2006/11/04 Javascript
javascript void(0)的妙用
2009/10/21 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
vue组件name的作用小结
2018/05/23 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
总结Python中逻辑运算符的使用
2015/05/13 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
利用python实现汉诺塔游戏
2021/03/01 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
2015年管理人员工作总结
2015/05/13 职场文书
大学生读书笔记范文
2015/07/01 职场文书