Yii 批量删除

1.首先,写button按钮:
视图中,columns下面声明checkbox代码:

array(
    'class' => 'CCheckBoxColumn',
    'selectableRows' => 2,
    'footer' => '<button type="button" οnclick="GetCheckbox();" style="width:76px">批量删除</button>',
    'checkBoxHtmlOptions' => array('name' => 'id[]'), //name在js中会用到
),
例子如下:

<?php $this->widget('admin.widgets.GridView', array(

'id'=>'app-comment-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'selectableRows' => 2,
'footer' => '<button type="button" οnclick="GetCheckbox();" style="width:72px">批量删除</button>',
'class' => 'CCheckBoxColumn',
'headerHtmlOptions' => array('width'=>'33px'),
'checkBoxHtmlOptions' => array('name' => 'selectdel[]'),
),
array( 
'header'=>'App图标',
'type'=>'raw',
'value'=>'CHtml::link(CHtml::image($data->app->getIcon57x57()), $data->app->getQianUrl(),array("target"=>"_blank"))',
'htmlOptions'=>array(
                'width'=>'57',
'height'=>'57',
                'style'=>'text-align:center',
            ),
 array(
 'header'=>'操作',
 'class'=>'CButtonColumn',
 'headerHtmlOptions'=>array(
 'width'=>'40',
 ),
 'template'=>'{update}{delete}', //默认显示的三个按钮,要去掉某个按钮,删除相应项即可
 ),
),
)); ?>
<script type="text/javascript">
    /*<![CDATA[*/
    var GetCheckbox = function (){
var data=new Array();
$("input:checkbox[name='selectdel[]']").each(function (){
if($(this).is(":checked")){
data.push($(this).val());
}
});
if(data.length > 0){
if(confirm('确定要删除选中的留言吗?')){
$.post('<?php echo CHtml::normalizeUrl(array('/admin/appComment/delall/'));?>',{'selectdel[]':data}, function (data) {
var ret = $.parseJSON(data);
if (ret != null && ret.success != null && ret.success) {
$.fn.yiiGridView.update('app-comment-grid');
}
});
}else
return false;
}else{
  alert("请选择要删除的留言!");
}
    }
    /*]]>*/

</script>

2.js中post请求的控制器中写逻辑代码:

public function actionDelall() {
if (Yii::app()->request->isPostRequest) {
$criteria = new CDbCriteria;
$criteria->addInCondition('id', $_POST['id']);
News::model()->deleteAll($criteria); //News换成你的模型

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.');
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值