浅析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 相关文章推荐
屏蔽浏览器缓存另类方法
Oct 09 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
Oct 30 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
Nov 07 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
PHP利用Mysql锁解决高并发的方法
Sep 04 PHP
WordPress多语言翻译插件 - WPML使用教程
Apr 01 PHP
PHP策略模式写法
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
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
JS控制表格隔行变色
2006/06/26 Javascript
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
use jscript List Installed Software
2007/06/11 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
基于python select.select模块通信的实例讲解
2017/09/21 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
九华山导游词
2015/02/03 职场文书
市场部岗位职责
2015/02/12 职场文书
工作态度不好检讨书
2015/05/06 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python