首页 > php框架 > Yii学习笔记之CGridView数据列表添加复选框提供多选批量删除、更新等功能

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>

最后,提供一个示例图,仅供参考:

Yii框架CGridView数据列表添加复选框提供多选批量删除、更新等功能

本文地址:http://www.phprm.com/frame/79891.html

转载随意,但请附上文章地址:-)

标签:checkbox select

相关文章

发表留言