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.'); }
文章来源于:http://www.yiichina.com/forum/topic/469/
相关推荐
在Web应用中,批量删除记录的需求十分常见,本文详细介绍如何在Yii框架下使用CGridView实现批量删除记录的功能,包括CGridView设置、前台JavaScript调用以及后台Action的处理。 首先,要在CGridView中添加多选框,...
这包括显示模型属性、通过回调函数显示自定义内容以及使用内置的按钮列来实现常见的CRUD操作(创建、读取、更新和删除)。 CGridView非常适合用于展示结构化数据,比如数据库查询结果。它可以让用户通过点击列标题...
在本实例中,我们将详细探讨如何在CGridView中实现操作按钮,包括定义按钮的URL地址,以及进行相关操作如更新(update)、删除(delete)等。 首先,CGridView的使用通常涉及到以下几个主要参数: 1. `id`:控件的...
在这个特定的话题中,“YII CGridView CListView 返回列表带记忆功能”指的是如何在Yii框架中实现CGridView和CListView组件的分页功能,并且在用户翻页或刷新页面后仍能记住用户的筛选、排序和选择状态。 CGridView...
本实例将深入讲解CGridView在Yii视图中的使用方法,以及如何通过实例来实现其功能。 首先,CGridView的核心在于数据提供者(dataProvider),它负责获取并格式化数据。在上面的示例中,`$model->search()`返回了一...
本文实例讲述了Yii中CGridView关联表搜索排序方法。分享给大家供大家参考。具体实现方法如下: 在Yii CGridView 关联表搜索排序实现方法有点复杂,今天看了一老外写的了篇游戏,下面我整理一下与各位朋友分享一下,...
总结来说,在Yii框架中实现复选框批量操作涉及到视图层的CGridView组件配置,客户端的JavaScript交互逻辑以及服务器端的Model数据处理。通过这几个方面的协同工作,最终能够为用户提供高效便捷的批量操作功能。 ...
然而,在默认设置中,CGridView的过滤器通常为文本框,这可能无法满足所有用户的需求,特别是在需要展示选项列表时,如数据库中的分类ID或套餐ID。在这种情况下,将文本框替换为下拉框可以显著提升用户体验,因为...
在CGridView的配置中,只要找到对应列的配置数组,并将`sortable`设置为`false`,即可实现禁止该列排序的目的。 以一段给定的配置代码为例,我们可以在数组的相应列配置中设置`sortable=>false`,以此来禁止特定列...
1、首先派生一个子类,添加一个action成员,在该视图的init函数中判断是浏览动作还是数据导出动作,如果是浏览动作者则保持默认行为,否则输出csv文件。 public function init() { if($this->action == 'export') ...
在提供的示例中,我们看到了如何在CGridView中定义列,包括文章的标题、内容、标签、状态、创建时间、更新时间、作者ID、删除标志以及操作按钮列。 接下来,我们看看示例中提到的数据库操作。在Yii中,通常会使用...
为了提高用户体验和数据展示的灵活性,有时我们需要对`GridView`中的行号进行特殊处理,比如实现行号的倒序排列。本文将详细介绍如何在分页和不分页两种情况下实现`GridView`行号的倒序排列。 #### 二、基础知识 在...