浅析Yii2 GridView实现下拉搜索教程_php实例

废话不多说了,先给大家展示下效果图,如果大家还很满意请继续往下阅读:

具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其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常见操作

yii2 页面底部加载css和js的技巧

浅析Yii2 GridView 日期格式化并实现日期可搜索教程

浅析Yii2 GridView实现下拉搜索教程

关于Yii2 GridView实现下拉搜索教程就给大家介绍这么多,希望对大家有所帮助!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索yii2_gridview搜索
yii2 gridview 下拉框、yii gridview 下拉框、yii2 gridview、yii2 gridview 样式、yii2 gridview 分页,以便于您获取更多的相关知识。

时间: 2024-09-18 05:17:00

浅析Yii2 GridView实现下拉搜索教程_php实例的相关文章

浅析Yii2 GridView 日期格式化并实现日期可搜索教程_php实例

先给大家展示下日期格式化效果图,如果大家满意请继续往下阅读: 这个我们分情况讨论 1.如果你的数据库字段created_at存的时间格式是date或者datetime,那很简单,gridview中直接输出该字段created_at即可,如上图中右侧所示 2.如果数据库存入的时间戳类型,如上图中左侧所示,则需要像下面这样进行输出 [ 'attribute' => 'created_at', 'value' => function ($model) { return date('Y-m-d H:i

深入浅析PHP无限极分类的案例教程_php实例

平时开发中或多或少不可避免会遇到无限极分类的问题,因为效率.逻辑等问题也一直使这类问题比较尖锐.今天我们以yii2框架为基础,栏目无限极为例,对这个问题进行一个简单的处理. 首先我们有一张栏目数据表 tree 表结构如下图(原文有图) 看上去表结构很简单. 我们插入几条测试数据 INSERT INTO `tree` (`id`, `parent_id`, `name`) VALUES (1, 0, 'A'), (2, 0, 'B'), (3, 1, 'a'), (4, 3, 'aa'), (5,

浅析Yii2 gridview实现批量删除教程_php实例

在朋友圈里有童鞋向我讨论GridView的问题,有朋友说你用gridview给我去掉表头的链接?我想的很久,用gridview确实不容易实现.有不同见解的朋友欢迎留言.但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛. 这个问题也是很简单的,我们来看看具体实现 $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $dataProvider->

Yii2实现上下联动下拉框功能的方法_php实例

本文实例讲述了Yii2实现上下联动下拉框功能的方法.分享给大家供大家参考,具体如下: 首先我先解释下什么是上下联动的下拉框 假如一个view里面有两个select,第一个是公司名,第二个是分公司名.公司有多个,每个公司又有多个分公司,我们实现的就是点击当前公司后,分公司里面显示的事当前公司的分公司. 或者你直接理解成选择所属省份后,下面的select显示的是当前省份的县. 原理: 点击第一个select后,执行ajax获取当前公司的分公司,并使用jQuery修改分公司内容 两个select的部分

Yii2框架dropDownList下拉菜单用法实例分析_php实例

本文实例讲述了Yii2框架dropDownList下拉菜单用法.分享给大家供大家参考,具体如下: dropDownList是yii框架中一个自带的下拉功能了解,我们可以直接使用dropDownList来实现html的select菜单,下面一起来看看. Yii2.0 默认的 dropdownlist 的使用方法. 复制代码 代码如下: <?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', '

Yii2框架dropDownList下拉菜单用法实例分析

本文实例讲述了Yii2框架dropDownList下拉菜单用法.分享给大家供大家参考,具体如下: dropDownList是yii框架中一个自带的下拉功能了解,我们可以直接使用dropDownList来实现html的select菜单,下面一起来看看. Yii2.0 默认的 dropdownlist 的使用方法. 复制代码 代码如下:<?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', 'b

Yii2实现上下联动下拉框功能的方法

本文实例讲述了Yii2实现上下联动下拉框功能的方法.分享给大家供大家参考,具体如下: 首先我先解释下什么是上下联动的下拉框 假如一个view里面有两个select,第一个是公司名,第二个是分公司名.公司有多个,每个公司又有多个分公司,我们实现的就是点击当前公司后,分公司里面显示的事当前公司的分公司. 或者你直接理解成选择所属省份后,下面的select显示的是当前省份的县. 原理: 点击第一个select后,执行ajax获取当前公司的分公司,并使用jQuery修改分公司内容 两个select的部分

Fireworks制作下拉菜单教程介绍

  本教程是关于Fireworks制作下拉菜单教程的讲解,该文章共有4个部分,其中包括创建标题.创建切片.加上下拉菜单.子菜单定位相关步骤,以下请看正文: 创建标题 1,新建一个图像 2, 用矩形工具画一个长方形 3,用文字工具输入文字 创建切片 选中这个矩形,然后选择菜单insert -> slice(插入-切片). 加上下拉菜单 1,保持切片处于选中的状态,选择菜单insert -> pop menu,插入子菜单 2,在弹出的窗口内进行输入,text(文字)框内输入子菜单上要显示的文字 3

android gridview自定义下拉刷新,只有头部拉下来了

问题描述 android gridview自定义下拉刷新,只有头部拉下来了 解决方案 什么意思,表达清楚点 解决方案二: 实在不懂什么意思,请表达清楚点 解决方案三: 只有headview拉下来 然后没上去? 还是 没有刷新?