码迷,mamicode.com
首页 > 其他好文 > 详细

Yii2下拉框实现

时间:2014-07-19 17:06:02      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   

详细介绍yii2下拉框的实现方法,以商品分类的下拉框为例:

第一种方法:使用Html的activeDropDownList(),该方法的优点是:可以自定义下拉框的样式。具体实现如下:

1.控制器中,获取视图中所需的数据

    public function actionList(){
        $category_model=new Category();
        $category_info=$category_model->find()->all();
        return $this->renderPartial(‘list‘,[‘category_info‘=>$category_info,‘category_model‘=>$category_model]);
    }

2.视图中,use yii\helpers\Html;

<?php $form = ActiveForm::begin([]);?>
    <?php echo Html::activeDropDownList($category_model,‘category_name‘,ArrayHelper::map($category_info,‘category_id‘,‘category_name‘),[‘style‘=>‘border:1px solid    gray;width:150px;‘])?>           
<?php ActiveForm::end(); ?>

3.这样之后,表单的下拉框名称是:Category Name,如果要改变这个值,在控制器对应的模型中使用attributeLabels()方法,具体如下:

  bubuko.com,布布扣

  public function attributeLabels(){
        return array(
            ‘category_name‘=>‘分类‘,
        );
    }

第二种方法:使用ActiveForm的dropDownList(),优点是使用的yii自定义的样式,也可以自定义样式

1.控制器中获取视图中需要的数据

2.视图中,use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;

bubuko.com,布布扣

<?php $form = ActiveForm::begin([]);?>
    <?php echo $form->field($category_model,‘category_name‘)->dropDownList(ArrayHelper::map($category_info,‘category_id‘,‘category_name‘),[‘style‘=>‘border:1px solid blue;width:150px;‘])?>           
<?php ActiveForm::end(); ?>

补充:该方法也可以自定义样式:具体如上代码

各参数说明:

ArrayHelper::map()------------生成k=>v的一维或多维数组

$category_info----------------后台获取的数据

category_id-------------------option的value值

category_name---------------select 的name值

Yii2下拉框实现,布布扣,bubuko.com

Yii2下拉框实现

标签:style   blog   http   color   使用   strong   

原文地址:http://www.cnblogs.com/xlz307/p/3853721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!