Yii后台批量删除,bootstrap以及GII生成 [ 2.0 版本 ]
先上一下效果
代码:1.控制器controller中增加逻辑
//批量删除
public function actionDelall() {
if (Yii::app()->request->isPostRequest){
$criteria = new CDbCriteria;
$criteria->addInCondition('id', $_POST['id']);
Instation::model()->deleteAll($criteria);
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.');
}
}
2.视图View页面
在columns中增加如下代码,需要在什么位置,就加在什么位置
array(
'class' => 'CCheckBoxColumn',
'selectableRows' => 2,
'headerTemplate'=>'{item} 全选',
'checkBoxHtmlOptions' => array('name' => 'id[]' ), //这里用数组保存,方便遍历删除
'footer' => '<button type="button" onclick="GetCheckbox();" style="width:76px">批量删除</button>',
),
3.视图JS
<script type="text/javascript">
function GetCheckbox(){
var data=new Array();
$('input:checkbox[name="id[]"]').each(function (){
//根据上边定义checkbox名字获取选中项,然后放到数组
if($(this).is(':checked')===true){//注意,这里不能用checked=checked来判断,Yii自带表单好像默认没有checked这个属性
data.push($(this).val());
}
});
if(data.length > 0){
if (confirm("确认要删除?")) {
$.post('admin.php?r=admin/instation/DelAll',{'id[]':data}, function (data) {
var ret = $.parseJSON(data);
if(ret.success==true)
{
location.reload();
}
else
{
alert("删除失败,请重新操作.");
}
});
}
}else{
alert("请至少选择一项记录!");
}
}
</script>
yangguangqi8
注册时间:2016-10-31
最后登录:2023-02-16
在线时长:8小时41分
最后登录:2023-02-16
在线时长:8小时41分
- 粉丝14
- 金钱1125
- 威望30
- 积分1505
共 1 条评论
CCheckBoxColumn类 是哪里来的?