浅析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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
mysql limit查询优化分析
Nov 12 PHP
php 魔术方法使用说明
Oct 20 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
PHP 图片水印类代码
Aug 27 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
php实现学生管理系统
Mar 21 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
php数组和链表的区别总结
Sep 20 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 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之PHP语法学习笔记1
2006/12/17 PHP
php合并js请求的例子
2013/11/01 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
33道php常见面试题及答案
2015/07/06 PHP
php获取微信openid方法总结
2019/10/10 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
谈谈python垃圾回收机制
2020/09/27 Python
个人实用的自我评价范文
2013/11/23 职场文书
学校元旦晚会方案
2014/02/19 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
答谢词范文
2015/01/05 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
2019销售早会主持词
2019/06/27 职场文书
创业计划书之宠物店
2019/09/19 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL