浅析Yii2 GridView实现下拉搜索教程


Posted in PHP onApril 22, 2016

废话不多说了,先给大家展示下效果图,如果大家还很满意请继续往下阅读:

浅析Yii2 GridView实现下拉搜索教程

具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作

/**
* 下拉筛选
* @column string 字段
* @value mix 字段对应的值,不指定则返回字段数组
* @return mix 返回某个值或者数组
*/
public static function dropDown ($column, $value = null)
{
$dropDownList = [
'is_delete'=> [
'0'=>'显示',
'1'=>'删除',
],
'is_hot'=> [
'0'=>'否',
'1'=>'是',
],
//有新的字段要实现下拉规则,可像上面这样进行添加
// ......
];
//根据具体值显示对应的值
if ($value !== null) 
return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;
//返回关联数组,用户下拉的filter实现
else
return array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;
}

然后我们上代码看看具体怎么实现的下拉搜索

<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
// ......
[
'attribute' => 'is_hot',
'value' => function ($model) {
return Article::dropDown('is_hot', $model->is_hot);
},
'filter' => Article::dropDown('is_hot'),
],
[
'attribute' => 'is_delete',
'value' => function ($model) {
return Article::dropDown('is_delete', $model->is_delete);
},
'filter' => Article::dropDown('is_delete'),
],
// ......
],
]); ?>

像这样,我们就简单地实现了两个下拉效果,要实现筛选功能,在你的dataProvider自定添加该字段的搜索条件即可。

三水点靠木推荐阅读:

关于Yii2 GridView实现下拉搜索教程就给大家介绍这么多,希望对大家有所帮助!

PHP 相关文章推荐
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
PHP XML操作的各种方法解析(比较详细)
Jun 17 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 #PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
php简单实现sql防注入的方法
Apr 22 #PHP
PHP简单获取及判断提交来源的方法
Apr 22 #PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 #PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 #PHP
利用php输出不同的心形图案
Apr 22 #PHP
You might like
一个简单的PHP入门源程序
2006/10/09 PHP
PHP 全角转半角实现代码
2010/05/16 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
Python发送email的3种方法
2015/04/28 Python
python统计cpu利用率的方法
2015/06/02 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
python 弧度与角度互转实例
2020/04/15 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
三年级数学教学反思
2014/01/31 职场文书
2014庆六一活动方案
2014/03/02 职场文书
电子专业求职信
2014/06/19 职场文书
超市促销活动总结
2014/07/01 职场文书
党校学习心得体会范文
2014/09/09 职场文书
升学宴答谢词
2015/01/05 职场文书
校园新闻稿范文
2015/07/18 职场文书
人事任命书范本
2015/09/21 职场文书