利用yii2 gridview实现批量删除案例

作者:白狼 出处:http://www.manks.top/article/yii2_gridview_deleteall本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

今天仍然继续探讨GridView的问题,昨天有个小伙伴留言说你用gridview给我去掉表头的链接?我想啊想,这用gridview确实不容易实现,至少我没想出来,会的下方可留言。但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛。

这个问题也是很简单的,我们来看看具体实现

$dataProvider = new ActiveDataProvider([ 
'query' => $query, 
]); 
$dataProvider->setSort(false);

 

分分钟搞定不是事。

好了,我们来谈谈主题:如何利用yii2 gridview实现批量删除?

我先说一下几个步骤啊,免得直接贴代码有的小伙伴删了一句去了一句最后失败了!

1、gridview设置options时增加一个id 这里我们命名grid

'options' => [
// ...其他设置项
'id' => 'grid'
],

 

2、columns增加选项复选框,批量删除必然不可少了复选框操作,这里我们的name值设定为id,方便对数据操作

['class' => 'yii\grid\CheckboxColumn','name' => 'id',
],

 

3、页面上我们增加一个批量删除按钮,注意这里我们增加了一个class gridview,方便后面js实现点击效果

<?= Html::a('批量删除', "javascript:void(0);", ['class' => 'btn btn-success gridview']) ?>

 

4、最后一步,写js实现按钮操作,打开你的console看看,我们很轻松的就拿到了选中的行的id,然后这里就可以异步操作数据了。

<?php
$this->registerJs('
$(".gridview").on("click", function () {
//注意这里的$("#grid"),要跟我们第一步设定的options id一致var keys = $("#grid").yiiGridView("getSelectedRows");console.log(keys);
});
');
?>

 

下面贴上完整代码

GridView::widget([// ......'options' => ['class' => 'grid-view','style'=>'overflow:auto', 'id' => 'grid'],// ......'columns' => [// ......
            ['class' => 'yii\grid\CheckboxColumn','name' => 'id',],// ......],
]);
$this->registerJs('
$(".gridview").on("click", function () {var keys = $("#grid").yiiGridView("getSelectedRows");console.log(keys);
});
');

 

转载于:https://www.cnblogs.com/wwolf/p/5421722.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php中tp框架的坑,tp5框架遇到的一些坑

最近这个项目确实是问题多多&#xff01;新项目的上线到测试&#xff0c;基本都是一个人去弄&#xff01;面对40多万条的数据&#xff0c;mysql跑起来确实没有那么快&#xff01;首先来介绍一下我的项目吧&#xff01;其实项目比较简单 主要就是在已有的平台开放类似于百家号&…

BZOJ 4811 树链剖分+线段树

思路&#xff1a; 感觉这题也可神了.. &#xff08;还是我太弱&#xff09; 首先发现每一位不会互相影响&#xff0c;可以把每一位分开考虑&#xff0c;然后用树链剖分或者LCT维护这个树 修改直接修改&#xff0c;询问的时候算出来每一位填0&#xff0c;1经过这条链的变换之后得…

selenium框架安装及webdriver安装

本文介绍的是selenium安装及webdriver安装、小实例 1、selenium介绍 selenium是一个用于web应用程序测试的工具。 Selenium测试直接运行在浏览器&#xff0c;就向真正的用户操作一样。 支持的浏览器包括IE(7,8,9,10,11),Mazilla Firefox,Safari,Google Chrome,OperaL浏览器 这个…

idead断点调试_IDEA---断点调试Debug

Debug调试程序:可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug使用方式:在行号的右边,鼠标左键单击,添加断点(每个方法的第一行,哪里有bug添加到哪里)右键,选择Debug执行程序程序就会停留在添加的第一个断点处执行程序:f8:逐行执行程序f7:进入到方法中shiftf8:跳出…

svd medium_我们刚刚放弃了Medium博客。 您可能也应该这样做。

svd mediumOur blog helped our open source community reach an early critical mass.我们的博客帮助我们的开源社区达到了早期的临界质量。 In the 18 months since we launched our blog, it’s been viewed half a million times.自我们发布博客以来的18个月里&#xff0c…

写文件 追加和换行

file_put_contents("log.txt", "Hello world everyone.".PHP_EOL, FILE_APPEND); 转载于:https://www.cnblogs.com/yixi978/p/5422504.html

突然想到了王自如

刚刚不知道为什么突然想到了王自如。可能是因为下午在腾讯视频首页看到了老罗罗永浩的一个访谈节目&#xff0c;然后神经元一短路的原因吧。 想到王自如不禁又联想到了王自如和罗永浩的那场著名的撕逼之战。场面上王自如是被罗老师教做人的一个结果。然后就很长时间没有听到关于…

UOJ Test Round 3

A.几何冲刺 感觉自己的智商爆炸。 显然是按照极角序排列之后依次加点&#xff0c;判断是否有点。 保证一个点在两个角的范围内就OK了啊&#xff0c;想了半天叉积。。。 #include "triangles.h" #include <bits/stdc.h> #define for1(a,b,i) for(int ia,end_b;i…

万能素材库_自媒体运营必备3款黑科技工具,一个万能素材网站,你都在用吗?...

原标题&#xff1a;自媒体运营必备3款黑科技工具&#xff0c;一个万能素材网站&#xff0c;你都在用吗&#xff1f;现在刷短视频几乎是我们每个人每天必做的一个娱乐方式了&#xff0c;也有很多的小伙伴加到我问&#xff0c;怎么做抖音&#xff0c;抖音怎么运营&#xff0c;那么…

java怎么处理ajax请求,java怎么用ajax请求?jquery ajax请求后台的简单例子

jQuery.ajax(url,[settings])概述通过 HTTP 请求加载远程数据。jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数&#xff0c;除非你需要操作不常用的选项&#xff0c;以获得更多…

训练代码_代码简介:是的,有完全免费的代码训练营

训练代码Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事&#xff1a; You might not need that $15K coding bootcamp: 6 minute read 您可能不需要$ 15K的编码训练营&#xff1a; 6分钟的阅读时间 How a b…

MySQL(五) —— 子查询

子查询&#xff08;SubQuery&#xff09;是指出现在其他SQL语句内的SELECT语句。 如&#xff1a; SELECT * FROM t1 WHERE col1 (SELECT col2 FROM t2); 其中 SELECT * FROM t1,称为Outer Query/Outer Statement SELECT col2 FROM t2,称为SubQuery 子查询指嵌套在查询内部&…

PPP认证方式pap chap chap2

2019独角兽企业重金招聘Python工程师标准>>> PPP点到点协议&#xff08;Point to Point Protocol&#xff0c;PPP&#xff09;是IETF&#xff08;Internet Engineering Task Force&#xff0c;因特网工程任务组&#xff09;推出的点到点类型线路的数据链路层协议。它…

Nexus-配置vPC 实验三

配置EvPC&#xff08;增强的vPC&#xff09;&#xff0c;下面两个FEX可以同时被两个N5K管理。注意&#xff1a;FEX只支持静态的Channel-group&#xff08;mode on&#xff09; N5K-1配置&#xff1a;配置FEXN5K-1&#xff08;config&#xff09;#feature fexN5K-1&#xff08;c…

python中字符串转xml对象_Python实现对象转换为xml的方法示例

本文实例讲述了Python实现对象转换为xml的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;# -*- coding:UTF-8 -*-Created on 2010-4-20author: 忧里修斯import xml.etree.ElementTree as ETimport xml.dom.minidom as minidomfrom addrbook.domain import Person…

python现在时间 命令,Python 日期格式和时间以及当前时间和时间戳

Python 程序在运行的时候可能需要获得当前的时间。在这个时候我们需要导入 datetime 包。获得当前时间例如&#xff0c;可以使用下面的代码获得当前的日期。today datetime.date.today()print("Todays date:", today)在上面的代码中&#xff0c;将会输出&#xff1a…

谷歌入职邮件_为什么我全职学习了8个月以接受Google采访

谷歌入职邮件by Googley as Heck由Googley饰演Heck 为什么我全职学习了8个月以接受Google采访 (Why I studied full-time for 8 months for a Google interview) It’s true. I’ve spent thousands of hours reading books, writing code, and watching computer science lec…

关于meta便签详解

<!-- 声明文档 --> <meta charsetutf-8> <meta http-equiv"X-UA-Compatible" content"IEedge" /> //指示IE以目前可用的最高模式显示内容 <!-- SEO 优化 --> <meta name"description" content"不超过150个字符&…

go grpc 深入笔记

为什么80%的码农都做不了架构师&#xff1f;>>> grpc 深入 生命周期 grpc 的生命周期由4种请求的方式不同而不同&#xff1a;(详细查看router示例) 普通rpc: 客户端发送请求&#xff0c;通知服务端调用rpc服务&#xff0c;服务端返回请求&#xff0c;如果状态"…

messagedigest 图片加密_MessageDigest 加密和解密2

-------------------解密---------------------------package com.drawthink.platform.util;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java…