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 相关文章推荐
开源SNS系统-ThinkSNS
May 18 PHP
在PHP中利用wsdl创建标准webservice的实现代码
Dec 07 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
非常经典的PHP文件上传类分享
May 15 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 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
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
js计算精度问题小结
2013/04/22 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
Python基于DES算法加密解密实例
2015/06/03 Python
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
Python 加密的实例详解
2017/10/09 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Python Selenium操作Cookie的实例方法
2021/02/28 Python
年会活动策划方案
2014/01/23 职场文书
行政内勤岗位职责
2014/04/07 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
机械专业技术员求职信
2014/06/14 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
不同意离婚上诉状
2015/05/23 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
员工工作心得体会
2019/05/07 职场文书
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技