Yii学习笔记之CGridView数据列表添加复选框提供多选批量删除、更新等功能
下面我们来看看关于小编整理的一篇关于Yii CGridView数据列表添加复选框提供多选批量删除、更新等功能,希望下文会给各位带来帮助.
Yii框架是一个很方便又好用的框架,就是文档上不是那么的完善,有很多东西需要挖掘代码。
近日,使用Yii框架开发的时候,就遇上了这么一些问题,需要为CGridView列表提供复选框功能,方便同时批量更新多条数据。
以下是步骤:
1. columns中增加一列放置checkbox
2. widget下添加div放置操作按钮
3. 添加CheckAll和Ajax提交数据
完整代码如下:
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'user-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( array( 'selectableRows' => 2, 'class' => 'CCheckBoxColumn', 'headerHtmlOptions' => array('width'=>'18px','align'=>'center'), 'checkBoxHtmlOptions' => array('name' => 'ids[]','align'=>'center'), ), 'id', 'username', 'email', 'phone', array('name'=>'status','type'=>'raw','value'=>'($data->status>0?"正常":"禁用")'), array('name'=>'created','type'=>'date'), array('name'=>'updated','type'=>'date'), array( 'class'=>'CButtonColumn', ), ), )); ?>
<select name="status" id="status"> <option value="1">正常</option> <option value="0">禁用</option> </select> <button type="button" onclick="setStatus();" style="width:120px;">设置状态</button> <script type="text/javascript"> function getData(){ var data=new Array(); $("input:checkbox[name='ids[]']").each(function (){ if($(this).attr("checked")){ data.push($(this).val()); } }); return data; } function setStatus(){ var data = getData(); if(data.length < 1) { alert('请至少选择一个项目。'); return ; } $.post("index.php?r=user/status",{'ids[]':data,'status':$('#status').val()}, function (data) { if (data=='ok') { alert('设置状态成功!'); }else{ alert('设置状态失败,请重试!'); } window.open('index.php?r=user/admin','mainFrame');; }); } </script>
最后,提供一个示例图,仅供参考:
本文地址:http://www.phprm.com/frame/79891.html
转载随意,但请附上文章地址:-)