首页 > php教程 > PHP开发 > 正文

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

高洛峰
发布: 2016-12-23 17:51:48
原创
1718 人浏览过

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

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

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

<?php echo $form->field($model, &#39;name[]&#39;)->dropDownList([&#39;a&#39; => &#39;Item A&#39;, &#39;b&#39; => &#39;Item B&#39;, &#39;c&#39; => &#39;Item C&#39;]); ?>
登录后复制

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

<php echo $form->field($model, &#39;name[]&#39;)->dropDownList($listData, [&#39;prompt&#39;=>&#39;Select...&#39;]);>
登录后复制

DropDownList 在模型中使用

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

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

实例:

$form->field($searchmodel, &#39;moneytype&#39;)->dropDownList($soucetype, [&#39;prompt&#39; => &#39;请选择金额来源&#39;)])
登录后复制

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

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

$form->field($searchmodel, &#39;startdate&#39;)->widget(DatePicker::className(),[&#39;clientOptions&#39; => [&#39;dateFormat&#39; => &#39;yy-mm-dd&#39;]])->textInput([&#39;placeholder&#39; => Yii::t(&#39;app&#39;, &#39;Start time&#39;)])
登录后复制

ActiveForm 类的 dropDownList 方法(优点,默认使用yii的样式)
1、在控制器的方法里面 ,我们需要拿到数据,一定是 findAll() 或者是 all() 方法的数据,实例如下:

public function actionIndex()
{
    $model = new UserModel();
    $data = Customer::find()->all();
    return $this->render(&#39;index&#39;, [
      &#39;model&#39; => $model,
      &#39;data&#39; => $data,
    ]);
}
登录后复制

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

$form->field($model, &#39;username&#39;)->dropDownList(ArrayHelper::map($data,&#39;id&#39;, &#39;customer_name&#39;));
登录后复制

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, &#39;username&#39;, ArrayHelper::map($data,&#39;id&#39;, &#39;customer_name&#39;), [&#39;style&#39; => &#39;border:1px solid red;&#39;]);
登录后复制

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

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

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

更多Yii2框架dropDownList下拉菜单用法实例分析相关文章请关注PHP中文网!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!