浅析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
smtp邮件发送一例
Oct 09 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
php身份证号码检查类实例
Jun 18 PHP
smarty简单应用实例
Nov 03 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
Oct 28 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
Nov 17 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 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 文件上传源码分析(RFC1867)
2009/10/30 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
python里glob模块知识点总结
2021/01/05 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
大学团支书的自我评价分享
2013/12/14 职场文书
工作会议欢迎词
2014/01/16 职场文书
优秀团员个人事迹材料
2014/01/29 职场文书
小学生综合素质评语
2014/04/23 职场文书
瘦西湖导游词
2015/02/03 职场文书
挂职个人工作总结
2015/03/05 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
学校捐书活动总结
2015/05/08 职场文书