小伙儿 2014-08-18 14:58:36 13860次浏览 6条评论 25 4 0

第一种方法:ActiveForm 类的 dropDownList 方法(优点,默认使用yii的样式)

1、在控制器的方法里面 ,我们需要拿到数据,一定是 findAll() 或者是 all() 方法的数据,实例如下:

 public function actionIndex()
    {
        $model = new UserModel();
        $data = Customer::find()->all();

        return $this->render('index', [
            'model' => $model,
            'data' => $data,
        ]);
    }

2、在视图页面,我们使用 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.0 下拉菜单

发布 下拉菜单 ProjectController
  • 评论于 2016-06-04 18:05 举报

    补充一下:asArray() 数据要是数组的形式
    ArrayHelper::map(Type::find()->asArray()->all()

  • 评论于 2015-02-13 13:06 举报

    多级联动怎么实现的啊,AJAX 写的无效了

  • 评论于 2014-11-01 10:09 举报

    默认选择某项怎么写?

    1 条回复
    评论于 2016-07-04 16:22 回复

    dropDownList的第二个参数,就是填写默认选项的的value的内容,这个值没有的话写null,有的话就写你要默认的那个选项的value

  • 评论于 2014-08-18 17:15 举报

    恩 那成

    1 条回复
    评论于 2015-04-14 14:59 回复

    默认选择某项怎么写?

  • 评论于 2014-08-18 15:45 举报

    嘿嘿嘿 我要不择手段...

    3 条回复
    评论于 2014-08-18 17:11 回复

    把教程写出来,最后加上原文链接吧。

    评论于 2014-08-18 17:14 回复

    那还链接到 新浪博客 啊? 我这博客有不少图片,赶明编辑器好了 我在编辑吧

    评论于 2014-08-18 17:15 回复

    那成

  • 评论于 2014-08-18 15:43 举报

    哎呀 哥么 你太坏了 还要刷你微薄。。

您需要登录后才可以评论。登录 | 立即注册
在线
526