yii2.0下拉列表的使用

 1 第一种方法:ActiveForm 类的 dropDownList 方法(优点,默认使用yii的样式)
 2 
 3 1、在控制器的方法里面 ,我们需要拿到数据,一定是 findAll() 或者是 all() 方法的数据,实例如下:
 4  public function actionIndex()
 5     {
 6         $model = new UserModel();
 7         $data = Customer::find()->all();
 8  //类似这样 :data = [['id'=>1,'customer_name'=>'角色'],['id'=>2,'customer_name'=>'权限']];
 9         return $this->render('index', [
10             'model' => $model,
11             'data' => $data,
12         ]);
13     }
14 
15 2、在视图页面,我们使用 yii 的表单生成器。
16 <?phpuse yiihelpersHtml;
17 use yiiwidgetsActiveForm;?>
18 <?php $form = ActiveForm::begin(); ?>
19 
20 $form->field($model, 'username')->dropDownList(yiihelpersArrayHelper::map($data,'id', 'customer_name'),['prompt'=>'请选择','style'=>'100px','name'=>'user']);
21 
22 2.1、dropDownList           --->     yii2.0  下拉列表的方法
23 2.2、ArrayHelper::map()     --->     构建一个(key => value) 的一维或多维数组
24 2.3.1、 $data               --->     数据源
25 2.3.2、 id                  --->     option 的 value 值
26 2.3.3、 customer_name       --->     option 标签的值
27 
28 
29 
30 第二种方法:Html 类的 activeDropDownList方法(优点,可以自定义任何样式)
31 1、和第一种方法的第一步一样,拿到数据。不多解释了。
32 2、yiihelpersHtml 类为我们提供了下拉列表的实现方法 activeDropDownList 方法
33 yiihelpersHtml::activeDropDownList($model, 'username', yiihelpersArrayHelper::map($data,'id', 'customer_name'), ['style' => 'border:1px solid red;']);
34 
35 我没写 php 标签,大家自己复制代码,自己加上标签
36 参数和第一种方法的参数含义相同,不做解释。
37 
38 
39 第三种方法:Html 类的 dropDownList方法(优点,可以自定义任何样式)
40 1、和第一种方法的第一步一样,拿到数据。不过多解释了。
41 2、yiihelpersHtml 类为我们提供了下拉列表的实现方法 dropDownList方法
42 <?=yiihelpersHtml::dropDownList('user', null, yiihelpersArrayHelper::map($data,'admin_id', 'admin_user'), ['class' => 'sel','prompt'=>'请选择']);?>    
View Code

 如有哪里不对的地方,可以说说。互相交流,互相提升

原文地址:https://www.cnblogs.com/fwqblogs/p/6596124.html