Yii2下拉框实现
详细介绍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()方法,具体如下:
public function attributeLabels(){
return array(
'category_name'=>'分类',
);
}
第二种方法:使用ActiveForm的dropDownList(),优点是使用的yii自定义的样式,也可以自定义样式
1.控制器中获取视图中需要的数据
2.视图中,use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
<?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(); ?>
补充:该方法也可以自定义样式:具体如上代码
注意:如果要在下拉框的首项添加‘请选择’、‘全部’等默认的值。用prompt,代码如下:
<?php echo $form->field($brand_model,'brand_name')->dropDownList(ArrayHelper::map($brand_info,'brand_id','brand_name'),['prompt'=>'全部'])?>
各参数说明:
ArrayHelper::map()------------生成k=>v的一维或多维数组
$category_info----------------后台获取的数据
category_id-------------------option的value值
category_name---------------select 的name值
Yii2下拉框实现的更多相关文章
- yii2下拉框带搜索功能
简单的小功能,但是用起来还是蛮爽的.分享出来让更多的人有更快的开发效率,开开心心快乐编程.作者:白狼 出处:http://www.manks.top/yii2_dropdown_search.html ...
- yii2 html下拉框
下拉框 带默认值 <?php $form=ActiveForm::begin(); echo $form->field($model,'uname', ['inputOptions'=&g ...
- jquery实现下拉框多选
一.说明 本文是利用EasyUI实现下拉框多选功能,在ComboxTree其原有的基础上对样式进行了改进,样式表已上传demo,代码如下 二.代码 <!DOCTYPE html PUBLIC & ...
- 利用js取到下拉框中选择的值
现在的需求是:下拉框中要是选择加盟商让其继续选择学校,要是选择平台管理员则不需要选择学校.隐藏选择下拉列表. 选择枚举值: /// <summary> /// 平台角色 /// </ ...
- jquery禁用下拉框
禁用下拉框 //下拉框禁用 $("select").each(function () { $("#" + this.id).attr("disable ...
- [原创]自己动手实现React-Native下拉框控件
因项目需要,自己动手实现了一个下拉框组件,最近得空将控件独立出来开源上传到了Github和npm. Github地址(求Star 求Star 求Star
- ajax 多级联动 下拉框 Demo
写了ajax实现级联下拉框,考虑常用,并且级联个数随不同业务个数不同,于是就整理了一下,实现了 ajax + N级联动 下拉框的效果 效果图 HTML 代码 <h2> 省级联动</h ...
- jquery Combo Select 下拉框可选可输入插件
Combo Select 是一款友好的 jQuery 下拉框插件,在 PC 浏览器上它能模拟一个简单漂亮的下拉框,在 iPad 等移动设备上又能回退到原生样式.Combo Select 能够对选项进行 ...
- struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)
针对<struts-hibernate-ajax完成区县和街道级联下拉框功能>进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖.直接用json处理一下转成json格 ...
随机推荐
- Spark Programming--Transformations
map 将RDD中的每个数据项,一对一的映射关系,RDD数目不变,分区数也不变 例子: 数据集: map操作: flatMap 和map一样,但是会拆分每一个map之后的list,可以理解为一对多(注 ...
- 解决VS2010无法打开,提示无法找到atl100.dll的方法
这个问题是卸载VS2010一些组件造成的误删问题,且从网上下的atl100.dll通常与自己的VS2010不符 解决方法: 从路径:C:\Program Files\Microsoft Visual ...
- windows7 密码保护 共享文件
windows7 密码保护 共享文件 2台windows7之间设置文件共享,本想使用ftp,但是配置指定用户连接,配置权限比较繁琐. 所以就想到使用window7的文件共享,并设置密码,共享整个硬盘的 ...
- 人脸pts文件检查及人脸框输出
function output() outtxt = fopen('D:\AR database\kz.txt','wt'); : imgpath= strcat('D:\AR database\kz ...
- Mybatis的分页插件PageHelper
Mybatis的分页插件PageHelper 项目地址:http://git.oschina.net/free/Mybatis_PageHelper 文档地址:http://git.oschina. ...
- Java Convert String & Int
To convert a int to string: int num = 123; String str = String.valueOf(num); To convert a string to ...
- search支持多种标签
织梦的搜索页面支持dede标签的方法一 打开文件:include/arc.searchview.class.php 找到: require_once(DEDEINC."/taglib/hot ...
- Web:AJAX的网络请求
要访问的json文件内容如下图: 1.通过XMLHttpRequest方式发送请求 (1)前提创建XMLHttpRequest对象: //发送请求 var request; if (window.XM ...
- [BS] 小知识点总结-03
1.Autolayout中“constrain to margins” Autolayout中的页面边距的问题ios8以后的UIView增加了layoutMargins属性,在Storyboard/I ...
- NPOI 导入,导出EXCEL
代码: public static class NPOIExcelHelper { /// <summary> /// DataTable导出到Excel文件 /// </summa ...