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 标签 整个代码都被过滤了,所以复制代码,自己加上标签

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

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

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

 代码如下 复制代码
Html::dropDownList('username', null, ArrayHelper::map($data,'id', 'customer_name'), ['class' => 'dropdownlist']);

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

yii2框架dropDownList的下拉菜单用法介绍的更多相关文章

  1. yii框架中的下拉菜单和单选框

    yii中的下拉菜单: 第一种: <?= $form->field($model, 'parent_id')->dropDownList(ArrayHelper::map($data, ...

  2. Bootstrap框架(基础篇)之按钮,网格,导航栏,下拉菜单

    一,按钮 注意:虽然在Bootstrap框架中使用任何标签元素都可以实现按钮风格,但个人并不建议这样使用,为了避免浏览器兼容性问题,个人强烈建议使用button或a标签来制作按钮. 框架中提供了基础按 ...

  3. Bootstrap下拉菜单

    前面的话 网页交互的时候经常会需要上下文菜单或者隐藏/显示菜单项,Bootstrap默认提供了用于显示链接列表的可切换.有上下文的菜单.而且在各种交互状态下的菜单展示需要和javascript插件配合 ...

  4. Bootstrap_下拉菜单

    在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件. 一.普通下拉菜单 <div class="dropdown"&g ...

  5. Bootstrap系列 -- 25. 下拉菜单分割线

    在Bootstrap框架中的下拉菜单还提供了下拉分隔线,假设下拉菜单有两个组,那么组与组之间可以通过添加一个空的<li>,并且给这个<li>添加类名“divider”来实现添加 ...

  6. 详解Bootstrap下拉菜单组件

    bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,他对应的文件: less 对应的源码文件为:dropdowns.less sass对应的源码文件为:_dropdowns.scs ...

  7. Bootstrap 下拉菜单(dropdown)插件

    使用下拉菜单的插件,您可以向任何组件(比如:导航栏,标签页,胶囊式导航,按钮)添加下拉菜单 用法 您可以切换下拉菜单(dropdown)插件隐藏内容 1.通过data属性,向链接或按钮添加data-t ...

  8. 创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件

    Bootstrap是当下流行的前端UI组件库之一.利用Bootstrap,可以很方便的构造美观.统一的页面.把设计师从具体的UI编码中解放出来.   Bootstrap提供了不少的前端UI组件.带下拉 ...

  9. SJPullDownMenu下拉菜单框架使用

    SJPullDownMenu 快速集成类似淘宝筛选下拉菜单 如果页面显示不全等问题请转至:http://www.jianshu.com/p/d07c6393830c 查看使用 Getting Star ...

随机推荐

  1. 很开心! 纪念一下 ^_^ 考勤系统(weX5+echarts3.0+Baas )

  2. 标准的 C++ 由三个重要部分组成

    标准的 C++ 由三个重要部分组成: 核心语言,提供了所有构件块,包括变量.数据类型和常量,等等.C++ 标准库,提供了大量的函数,用于操作文件.字符串等.标准模板库(STL),提供了大量的方法,用于 ...

  3. linux -- ubuntu 安装apache后,修改默认路径

    默认由apt方式安装的Apache,指定网页主目录位于:/var/www 而系统/var所分到的空间太少,所以要换路径 1.修改默认网站目录 ubuntu8.10下修改apache2的默认文档目录 默 ...

  4. Erlang的Web库和框架

    ChicagoBoss,Nitrogen ,Zotontic,BeepBeep,ErlyWeb,Erlang Boss. 转自:http://bbs.chinaunix.net/thread-3764 ...

  5. 【Java面试题】53 能不能自己写个类,也叫java.lang.String?

    可以,但是即使你写了这个类,也没有用. 这个问题涉及到加载器的委托机制,在类加载器的结构图(在下面)中,BootStrap是顶层父类,ExtClassLoader是BootStrap类的子类,ExtC ...

  6. Shell 获取Shell所在目录

    SHELL_PATH=$(cd ")";pwd) echo $SHELL_PATH

  7. 插入数据insert语句中出错:没有与这些操作数匹配的“+”运算符,操作数类型为:const char[ ]+CString

    UpdateData(); CString n; n.Format(L"%d", m_n); _bstr_t strCmd_n = "insert into n(材料,折 ...

  8. 使用matlab批量处理图像后在指定文件夹存储

    使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...

  9. Sublime Text2安装Package Control

    一.安装Package Control 使用Sublime Text2首先就要安装Package Control,这样就能使用丰富的插件包了 安装方法有2种: (1)访问Package Control ...

  10. ubis文件系统的制作

    在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs.jffs2.yaffs2等文件系统.它们也都是基于文件系统+mtd+flash设备的架构.linux-2.6. ...