Yii中CGridView实现批量删除的方法


Posted in PHP onDecember 28, 2015

本文实例讲述了Yii中CGridView实现批量删除的方法。分享给大家供大家参考,具体如下:

1. CGridView中的columns添加

array(
 'selectableRows' => 2,
 'footer' => '<button type="button" onclick="GetCheckbox();" style="width:76px">批量删除</button>',
 'class' => 'CCheckBoxColumn',
 'headerHtmlOptions' => array('width'=>'33px'),
 'checkBoxHtmlOptions' => array('name' => 'selectdel[]'),
),

作用是添加多选框

2.js代码

<script type="text/javascript">
/*<![CDATA[*/
var GetCheckbox = function (){
 var data=new Array();
 $("input:checkbox[name='selectdel[]']").each(function (){
  if($(this).attr("checked")==true){
    data.push($(this).val());
  }
 });
 if(data.length > 0){
  $.post('<?php echo CHtml::normalizeUrl(array('/admin/words/delall/'));?>',{'selectdel[]':data}, function (data) {
   var ret = $.parseJSON(data);
   if (ret != null && ret.success != null && ret.success) {
    $.fn.yiiGridView.update('yw1');
   }
  });
 }else{
  alert("请选择要删除的关键字!");
 }
}
/*]]>*/
</script>

3.Action

public function actionDelall()
{
 if (Yii::app()->request->isPostRequest)
 {
  $criteria= new CDbCriteria;
  $criteria->addInCondition('id', $_POST['selectdel']);
  Words::model()->deleteAll($criteria);//Words换成你的模型
  if(isset(Yii::app()->request->isAjaxRequest)) {
   echo CJSON::encode(array('success' => true));
  } else {
   $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
  }
 }
 else
  throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
一个PHP日历程序
Dec 06 PHP
PHP面向对象分析设计的61条军规小结
Jul 17 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
php常用的url处理函数总结
Nov 19 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
php设计模式之委托模式
Feb 13 PHP
PHP重定向与伪静态区别
Feb 19 PHP
Laravel 框架控制器 Controller原理与用法实例分析
Apr 14 PHP
TP5多入口设置实例讲解
Dec 15 PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 #PHP
yii权限控制的方法(三种方法)
Dec 28 #PHP
Yii使用Captcha验证码的方法
Dec 28 #PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 #PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 #PHP
Yii中Model(模型)的创建及使用方法
Dec 28 #PHP
yii数据库的查询方法
Dec 28 #PHP
You might like
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
javascript 动态添加表格行
2006/06/22 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python代码实现猜拳小游戏
2020/11/30 Python
pandas实现导出数据的四种方式
2020/12/13 Python
python 实现有道翻译功能
2021/02/26 Python
运动会入场解说词
2014/02/07 职场文书
2015新学期开学寄语
2015/02/26 职场文书
Mysql Show Profile
2021/04/05 MySQL
MySQL创建管理HASH分区
2022/04/13 MySQL