浅析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新手谈谈我的学习心得
Feb 25 PHP
DedeCms模板安装/制作概述
Mar 11 PHP
PHP批量生成缩略图的代码
Jul 19 PHP
php数组函数序列之in_array() 查找数组值是否存在
Oct 29 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
laravel 使用auth编写登录的方法
Sep 30 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
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python的形参和实参使用方式
2019/12/24 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
人口与计划生育目标管理责任书
2014/07/29 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书