yii中gii自动生成的curd添加批量删除功能

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代码

function GetCheckbox(){
            var data=new Array();
            $("input:checkbox[name='selectdel[]']").each(function (){
                    if($(this).attr("checked")==true){
                            data.push($(this).val());
                    }
            });
            if(data.length > 0){
                    $.post("index.php?r=member/my_cart/delall",{'selectdel[]':data}, function (data) {
                            if (data=='ok') {
                                    alert('删除成功!');
          location.href = "index.php?r=member/my_cart/admin";
                          }
                    });
            }else{
                    alert("请选择要删除的选项!");
            }
    }

3.Action中

 public function actionDelall() {
        if (Yii::app()->request->isPostRequest) {
            $criteria = new CDbCriteria;
            $criteria->addInCondition('rec_id', $_POST['selectdel']);
            Cartdb::model()->deleteAll($criteria); 
            if (isset(Yii::app()->request->isAjaxRequest)) {
                echo 'ok';
            }
            else
                $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
        }
        else
            throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.');
    }

发表评论

电子邮件地址不会被公开。 必填项已用*标注