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框架中的下拉菜单和单选框的更多相关文章

  1. Android ActionBar中的下拉菜单

    在ActionBar中添加下拉菜单,主要有一下几个关键步骤: 1. 生成一个SpinnerAdapter,设置ActionBar的下拉菜单的菜单项 2. 实现ActionBar.OnNavigatio ...

  2. Delphi访问网页中的下拉菜单

    Delphi通过TWebBrowser浏览网页,然后访问该网页中的下拉菜单: uses MsHtml;procedure TForm1.Button1Click(Sender: TObject);va ...

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

    Yii2.0 默认的 dropdownlist 的使用方法.  代码如下 复制代码 <?php echo $form->field($model, 'name[]')->dropDo ...

  4. 初学者--bootstrap(六)组件中的下拉菜单----在路上(10)

    组件---下拉菜单 用于显示链接列表的可切换.有上下文的菜单.下拉菜单的 JavaScript 插件让它具有了交互性. 将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另一个声明了 p ...

  5. bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法

    今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...

  6. bootstrap中的下拉菜单

    下拉菜单必要的代码: <div  class="container"> <div  class="dropdown"> <butt ...

  7. 【网摘】C#.NET 在 MVC 中动态绑定下拉菜单的方法

    1. 已知下拉菜单列表项: 在 Controller 控制器类中输入已下代码  1 public class DemoController : Controller 2 { 3     public  ...

  8. 在WPF的MVVM框架中获取下拉选择列表中的选中项

    文章概述: 本演示介绍怎样在WPF的MVVM框架中.通过数据绑定的方式获取下拉列表中的选中项.程序执行后的效果例如以下图所看到的: 相关下载(代码.屏幕录像):http://pan.baidu.com ...

  9. Odoo8中“更多”下拉菜单选项指定后台执行代码

    在Odoo8中的仓库模块,根据每日最小安全库存数量,系统会自动生成一些补货单,而且是一个产品会生成一笔,如果产品比较多,这里生成的补货单也会很多. 如果这里的补货单没有即时处理,那相同产品后续不会再生 ...

随机推荐

  1. -bash: rvictls: command not found

    下载安装Command Line Tools for Xcodehttps://developer.apple.com/download/more/?name=for%20Xcode%20-# 显示包 ...

  2. Oracle 的查询组合语句

    select   a.core_txn_srl_no||a.c_dept||a.c_batch||lpad(a.c_opr_no,5,'0')||case a.txn_dr_cr_ind when ' ...

  3. 在CentOS上使用Docker镜像安装Jenkins

    1.必须先在CentOS上安装Docker,使用以下命名先在Docker Hub上搜索Jenkins镜像 docker search jenkins 2.下载Jenkins镜像,命令如下:(我下载的是 ...

  4. Python并发请求之requests_future模块使用

    # -*- coding: utf-8 -*- # @Time : 2019-12-09 10:00 # @Author : cxa # @File : demo.py # @Software: Py ...

  5. 访问者模式(Visitor Patten)

    参考文章: http://www.importnew.com/15561.html 定义: 封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作. um ...

  6. java8 instant localDateTime

  7. qt5 源码编译

    源码 qt-everywhere-src-5.11.3 依赖 apt-get install bison build-essential gperf flex ruby python libasoun ...

  8. Emotion Recognition Using Graph Convolutional Networks

    Emotion Recognition Using Graph Convolutional Networks 2019-10-22 09:26:56 This blog is from: https: ...

  9. Linux下如何测试网速

    本文链接:https://blog.csdn.net/Beyond_F4/article/details/80497118在Linux下如何测量下载和上传的速度? 这里用到一个Python工具spee ...

  10. pandas.merge数据连接合并

    https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398 ...