浅析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 相关文章推荐
PHP网站提速三大“软”招
Oct 09 PHP
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
php设置编码格式的方法
Mar 05 PHP
php实现的九九乘法口诀表简洁版
Jul 28 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
Nov 20 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
PHP会话处理的10个函数
Aug 11 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
PHP 对象继承原理与简单用法示例
Apr 21 PHP
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
Apr 01 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
正义联盟的终局之战《天启星战争》将成为DC动画宇宙的最后一部
2020/04/09 欧美动漫
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
php7下的filesize函数
2019/09/30 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
python开发之thread线程基础实例入门
2015/11/11 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
Django框架表单操作实例分析
2019/11/04 Python
python绘制规则网络图形实例
2019/12/09 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
AJAX都有哪些有点和缺点
2012/11/03 面试题
自动化专业本科毕业生求职信
2013/10/20 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
高中教师评语大全
2014/04/25 职场文书
低碳环保口号
2014/06/12 职场文书
工作所在部门证明
2014/09/21 职场文书
毕业欢送会致辞
2015/07/29 职场文书
如何Tomcat中使用ipv6地址
2022/05/06 Servers