浅析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
PHP中的正规表达式(一)
Oct 09 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
PHP中读写文件实现代码
Oct 20 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 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
wordpress之wp-settings.php
2007/08/17 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
2017/07/11 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
bootstrap响应式工具使用详解
2017/11/29 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python实现划词翻译
2020/04/23 Python
Python入门篇之字典
2014/10/17 Python
python3编码问题汇总
2016/09/06 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
python+requests接口自动化框架的实现
2020/08/31 Python
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
食品业务员岗位职责
2014/03/18 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
5s推行计划书
2014/05/06 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫