Yii中CGridView实现批量删除的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-02 11:31:53 浏览: 评论:0
这篇文章主要介绍了Yii中CGridView实现批量删除的方法,实例分析了CGridView的相关设置,前台JS调用与后台Action具体功能实现的技巧,需要的朋友可以参考下。
本文实例讲述了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程序设计有所帮助。
Tags: Yii批量删除 CGridView
相关文章
- ·Yii把CGridView文本框换成下拉框的方法(2021-05-02)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)