Yii2框架dropDownList下拉菜单用法实例分析


Posted in PHP onJuly 18, 2016

本文实例讲述了Yii2框架dropDownList下拉菜单用法。分享给大家供大家参考,具体如下:

dropDownList是yii框架中一个自带的下拉功能了解,我们可以直接使用dropDownList来实现html的select菜单,下面一起来看看。

Yii2.0 默认的 dropdownlist 的使用方法.

<?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?>

在yii2中加放请选择的下拉菜单

<php echo $form->field($model, 'name[]')->dropDownList($listData, ['prompt'=>'Select...']);>

DropDownList 在模型中使用

<?php
//use app\models\Country;
$countries=Country::find()->all();
//use yii\helpers\ArrayHelper;
$listData=ArrayHelper::map($countries,'code','name');
echo $form->field($model, 'name')->dropDownList(
                $listData,
                ['prompt'=>'Select...']);
?>

下拉菜单的默认值设置我们使用 prompt 关键字

实例:

$form->field($searchmodel, 'moneytype')->dropDownList($soucetype, ['prompt' => '请选择金额来源')])

好的 下拉菜单的默认值设置就是这样简单,下面我们在说说带有插件的文本框默认值是如何设置的

我现在就拿这个表单后面的两个使用了时间插件的文本域为例,在这里 prompt 关键字就不行了,我们要使用 placeholder 关键字

$form->field($searchmodel, 'startdate')->widget(DatePicker::className(),['clientOptions' => ['dateFormat' => 'yy-mm-dd']])->textInput(['placeholder' => Yii::t('app', 'Start time')])

ActiveForm 类的 dropDownList 方法(优点,默认使用yii的样式)
1、在控制器的方法里面 ,我们需要拿到数据,一定是 findAll() 或者是 all() 方法的数据,实例如下:
public function actionIndex()
{
    $model = new UserModel();
    $data = Customer::find()->all();
    return $this->render('index', [
      'model' => $model,
      'data' => $data,
    ]);
}

在视图页面,我们使用 yii 的表单生成器。

$form->field($model, 'username')->dropDownList(ArrayHelper::map($data,'id', 'customer_name'));

2.1、dropDownList           --->     yii2.0  下拉列表的方法
2.2、ArrayHelper::map()     --->     构建一个(key => value) 的一维或多维数组
2.3.1、 $data               --->     数据源
2.3.2、 id                  --->     option 的 value 值
2.3.3、 customer_name       --->     option 标签的 值

Html 类的 activeDropDownList方法(优点,可以自定义任何样式)

1、和第一种方法的第一步一样,拿到数据。不过多解释了。
2、\yii\helpers\Html 类为我们提供了下拉列表的实现方法 activeDropDownList 方法

Html::activeDropDownList($model, 'username', ArrayHelper::map($data,'id', 'customer_name'), ['style' => 'border:1px solid red;']);

我没写 php 标签,相信写过新浪博客的程序猿都知道,写了 php 标签 整个代码都被过滤了,所以复制代码,自己加上标签

参数和第一种方法的参数含义相同,不做解释。

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
PHP开发过程中常用函数收藏
Dec 14 PHP
php操作SVN版本服务器类代码
Nov 27 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
typecho插件编写教程(五):核心代码
May 28 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
PHP 获取客户端 IP 地址的方法实例代码
Nov 11 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
laravel开发环境homestead搭建过程详解
Jul 03 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
PHP多进程编程总结(推荐)
Jul 18 #PHP
php 指定范围内多个随机数代码实例
Jul 18 #PHP
You might like
轻松修复Discuz!数据库
2008/05/03 PHP
php生成xml时添加CDATA标签的方法
2014/10/17 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
PHP数组相关函数汇总
2015/03/24 PHP
php无限级分类实现方法分析
2016/10/19 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
详解webpack babel的配置
2018/01/09 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
[00:35]可解锁地面特效
2018/12/20 DOTA
java直接调用python脚本的例子
2014/02/16 Python
python实现调用其他python脚本的方法
2014/10/05 Python
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
python求最大连续子数组的和
2018/07/07 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
手写一个python迭代器过程详解
2019/08/27 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
外语专业毕业生自我评价分享
2013/10/05 职场文书
中学生期末评语
2014/02/03 职场文书
求职信标题怎么写
2014/05/26 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle