首页 > 开发 > Php > 正文

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

2020-02-18 23:01:36
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表