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 相关文章推荐
怎样在PHP中通过ADO调用Asscess数据库和COM程序
Oct 09 PHP
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
PHP中的Memcache详解
Apr 05 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
Jun 29 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
php fread函数使用方法总结
May 28 PHP
PHP isset empty函数相关面试题及解析
Dec 11 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
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
PHP+MySQL 制作简单的留言本
2009/11/02 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
jquery $.each()使用探讨
2013/09/23 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
JS实现的自定义map方法示例
2019/05/17 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中使用item()方法遍历字典的例子
2014/08/26 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
python调用摄像头显示图像的实例
2018/08/03 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
Python json格式化打印实现过程解析
2020/07/21 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
数学专业推荐信范文
2013/11/21 职场文书
新护士岗前培训制度
2014/02/02 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
护士求职信范文
2014/05/24 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
vue中 this.$set的使用详解
2021/11/17 Vue.js
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技