1.在视图中 CGridView中的columns添加,作用是添加多选框
代码如下 |
复制代码 |
array(
'selectableRows' => 2,
'footer' => '<button type="button" onclick="GetCheckbox();" style="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.');
}
|