yii框架中的下拉菜单和单选框
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框架中的下拉菜单和单选框的更多相关文章
- Android ActionBar中的下拉菜单
在ActionBar中添加下拉菜单,主要有一下几个关键步骤: 1. 生成一个SpinnerAdapter,设置ActionBar的下拉菜单的菜单项 2. 实现ActionBar.OnNavigatio ...
- Delphi访问网页中的下拉菜单
Delphi通过TWebBrowser浏览网页,然后访问该网页中的下拉菜单: uses MsHtml;procedure TForm1.Button1Click(Sender: TObject);va ...
- yii2框架dropDownList的下拉菜单用法介绍
Yii2.0 默认的 dropdownlist 的使用方法. 代码如下 复制代码 <?php echo $form->field($model, 'name[]')->dropDo ...
- 初学者--bootstrap(六)组件中的下拉菜单----在路上(10)
组件---下拉菜单 用于显示链接列表的可切换.有上下文的菜单.下拉菜单的 JavaScript 插件让它具有了交互性. 将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另一个声明了 p ...
- bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法
今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...
- bootstrap中的下拉菜单
下拉菜单必要的代码: <div class="container"> <div class="dropdown"> <butt ...
- 【网摘】C#.NET 在 MVC 中动态绑定下拉菜单的方法
1. 已知下拉菜单列表项: 在 Controller 控制器类中输入已下代码 1 public class DemoController : Controller 2 { 3 public ...
- 在WPF的MVVM框架中获取下拉选择列表中的选中项
文章概述: 本演示介绍怎样在WPF的MVVM框架中.通过数据绑定的方式获取下拉列表中的选中项.程序执行后的效果例如以下图所看到的: 相关下载(代码.屏幕录像):http://pan.baidu.com ...
- Odoo8中“更多”下拉菜单选项指定后台执行代码
在Odoo8中的仓库模块,根据每日最小安全库存数量,系统会自动生成一些补货单,而且是一个产品会生成一笔,如果产品比较多,这里生成的补货单也会很多. 如果这里的补货单没有即时处理,那相同产品后续不会再生 ...
随机推荐
- shell 单引号以及双引号
#!/bin/bash a= echo '$a' echo "$a" your_name='runoob' str="Hello, I know you are \&qu ...
- 第08组 Alpha冲刺(2/6)
队名:955 组长博客: 作业博客:https://edu.cnblogs.com/campus/fzu/SE_FZU_1917_K/homework/9939 组员情况 组员1(组长):庄锡荣 过去 ...
- JS 根据不同年份,获取不同月份的天数
在做日期方面的需求时,需要考虑到大小月的问题 ##格式:new Date(year,month,0).getDate() new Date(2019,12,0).getDate() 可以在控制台打印 ...
- Java编程思想之六访问权限控制
访问控制(或隐藏具体实现)与"最初的实现并不恰当"有关. 访问权限控制的等级,从最大权限到最小权限依次为:public,protected,包访问权限(没有关键字)和private ...
- 干掉搜狗输入法云代理SogouCloud.exe
搜狗输入法暂时还离不开,但是很讨厌搜狗输入法一直在后台的"搜狗云代理程序"(C:\Program Files (x86)\SogouInput\9.1.0.2657\SogouCl ...
- win 程序开机自启动设置
若程序设置了开机自启动,但是仍没有效果,可能是被什么拦截了,或者什么原因.导致开机并没有自启动,那么如何解决呢? 解决方法:将软件的快捷方式 或 单个软件 直接拷贝到 如下目录,即可强制实现开机自启动 ...
- C语言 按位异或实现加法
/* C语言 按位异或实现加法 */ #include <stdio.h> #include <stdlib.h> #include <string.h> void ...
- idea 出现 bootstrap.properties 中的内容不能识别
错误截图如下 依赖库引用问题 第一种: <dependency> <groupId>org.springframework.cloud</groupId> < ...
- Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)
一.自定义控件大全 (一).控件介绍 超过160个精美控件,涵盖了各种仪表盘.进度条.进度球.指南针.曲线图.标尺.温度计.导航条.导航栏,flatui.高亮按钮.滑动选择器.农历等.远超qwt集成的 ...
- Houdini Python开发实战 课程笔记
P2 + P3 + P4 + P5 - 基础: 1. Houdini中使用Python的地方 2. Textport:可使用cd.ls等路径操作的命令(命令前加%,可在python中使用) 3. So ...