yii中的下拉菜单

Posted Mercedes-Benz-G63

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii中的下拉菜单相关的知识,希望对你有一定的参考价值。

第一种:

<?= $form->field($model, \'parent_id\')->dropDownList(ArrayHelper::map($data,\'cat_id\',\'new_cat_name\') ,[\'prompt\' => \'请选择父级分类\']) ?

第二种:

<?= $form->field($model, \'banner_address\')->dropDownList(ArrayHelper::map(address::find()->all(),\'ad_id\',\'ad_name\') ,[\'prompt\' => \'请选择广告位\']) ?>

两者的唯一区别就是ArrayHelper::map()的第一个参数不同,因为第一种是要做无限极分类的,所以用的是数组,第二种直接查表就可以了,很方便。

[\'prompt\' => \'请选择父级分类\']表示默认选项,这里有一个问题就是,不知道怎么给默认的这个选项一个值,试了很多方法,默认选项对应的值一直是空的

就是这样的:

‘请选择父级分类’一直没有对应的value值,所以提交时要验证不能为空。

ArrayHelper::map()的用法:

ArrayHelper::map( $array, $from, $to, $group = null )

通过map方法将一个结果集或多维数组每项的2个字段抽取出来,一个作为key、一个作为value,重新组成一个数组作为结果返回

第三个函数$group,这是一个可选参数,它能实现类似于sql的group by分组功能

yii里的单选按钮:

<? echo $form->field($model, \'is_show\')->radioList([\'1\'=>\'是\',\'0\'=>\'否\']) ?>

单选按钮很简单,但是设置单选按钮的值是一个问题,查了资料,最后用了这一种

public function actionCreate()
{
$model = new Banner();
$model->is_show=1;
if ($model->load(Yii::$app->request->post()) && $model->save()){
$model->banner_img = UploadedFile::getInstance($model, \'banner_img\');
if ($model->banner_img && $model->validate()) {
$fileName = \'../../uploads/\' . date("YmdHis") . \'.\' . $model->banner_img->extension;
$model->banner_img->saveAs($fileName);
$data=Yii::$app->request->post();
$model->banner_img=$fileName;
$model->start_time=strtotime($data[\'Banner\'][\'start_time\']);
$model->end_time=strtotime($data[\'Banner\'][\'end_time\']);
$res=$model->save();
if($res){
return $this->redirect([\'view\', \'id\' => $model->banner_id]);
}else{
return $this->render(\'create\', [
\'model\' => $model,
]);
}
}else{
return $this->render(\'create\', [
\'model\' => $model,
]);
}
} else {
return $this->render(\'create\', [
\'model\' => $model,
]);
}
}

就是在控制器里加了一个默认值,感觉不太科学,可是没有找到别的办法

 

这一篇满满的都是问题,但还是不要脸的写了出来,方便以后看。。。

以上是关于yii中的下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

yii2框架dropDownList的下拉菜单用法介绍

yii框架中,如何利用下拉菜单进行筛选

yii实现级联下拉菜单的方法

yii框架,如何用cmenu创建下拉菜单

在 yii2 的 select2 下拉菜单中设置默认值

yii2 下拉菜单