HTML部分php
<td><span data-field="audit_state" data-val="<?php echo $val -> audit_state;?>" class="<?php if($val -> audit_state != 1):?>no_<?php endif;?>shenhe set-field"></span></td> <td><span data-field="essence_state" data-val="<?php echo $val -> essence_state;?>" class="<?php if($val -> essence_state != 1):?>no_<?php endif;?>shenhe set-field"></span></td>jQuery部分:(單個刪除的原理同樣,由於作的是假刪除,只是將is_hidden字段的值由0改成1,就是刪除操做。)
/** * 審覈 加精 */ $('.set-field').bind('click', function(){ var id = parseInt($(this).parents('tr').find('.id').val()); var field = $(this).attr('data-field'); var val = $(this).attr('data-val'); var $field = $(this); if ( val == 1 ) { val = 0; } else { val = 1; } if ( id > 0 ) { var postData = {"id": id}; switch( field ) { case 'essence_state': postData.essence_state = val; break; case 'audit_state': postData.audit_state = val; break; } $.post('/businesscomment/setfield', postData, function(data){ var data = eval( '(' + data + ')'); if ( data.status == 0 ) { $.msgbox.show({message: data.msg,icon: 'ok',timeOut: '1000'}); $field.attr('data-val', val); if ( $field.hasClass('no_shenhe') ) { $field.removeClass('no_shenhe').addClass('shenhe'); } else { $field.removeClass('shenhe').addClass('no_shenhe'); } } else { $.msgbox.show({ message: data.msg, icon: 'no', timeOut: '2000' }); } }); } }); /** * 批量刪除(批量刪除和批量審覈的原理同樣) */ $('#delete').bind('click', function(){ var idLength = $('.id:checked').length; if ( idLength == 0 ) { $.msgbox.show({ message: '請選擇要刪除的文章', icon: 'no', modal: true, timeOut: '2000' }); return false; } var ids = []; var i = 0; $('.id').each(function(){ if ( typeof($(this).attr('checked')) !== 'undefined' ) { ids[i++] = $(this).val(); } }); $("#dialog").html('').attr('title','系統提示').html("<p>刪除文章後不可恢復,後果自負,確認刪除嗎?</p>").dialog({ modal: true, buttons: { '肯定刪除':function() { if ( idLength > 0 ) { $(this).dialog( "close" ); var postData = {"id": ids, "is_hidden" : 1}; $.post('/businesscomment/setfield', postData, function(data){ var data = eval( '(' + data + ')'); if ( data.status == 0 ) { $.msgbox.show({ message: '刪除成功', icon: 'ok', timeOut: '2000' }); setTimeout(function(){window.location.reload();},1000); } else { $.msgbox.show({ message: '刪除失敗', icon: 'no', timeOut: '2000' }); } }); } }, '取消':function() { $(this).dialog( "close" ); } } }); });
/** * 修改分類字段 */ public function actionSetField() { $id = Yii::app() -> request -> getParam('id'); if ( ! $id ) { Util::json(array('status' => 1, 'msg' => '修改失敗,id不存在'), 1); } $essence = Yii::app() -> request -> getParam('essence_state', null); $audit = Yii::app() -> request -> getParam('audit_state', null); $isHidden = Yii::app() -> request -> getParam('is_hidden', null); $data = array(); //加精 if ( $essence !== null ) { $data['essence_state'] = $essence; } //審覈 if ( $audit !== null ) { $data['audit_state'] = $audit; } //刪除 if ( $isHidden !== null ) { $data['is_hidden'] = $isHidden; } $rows = 0; if ( $data ) { //批量操做 if ( is_array($id) ) { $ids = join(',', $id); $data['employee_id'] = $this->user['employee_id']; $rows = BusinessComment::model() -> updateAll($data, "id IN({$ids})"); } //單個操做 else { $data['employee_id'] = $this->user['employee_id']; $rows = BusinessComment::model() -> updateByPk($id, $data); } } if ( $rows ) { Util::json(array('status' => 0, 'msg' => '修改爲功'), 1); } else { Util::json(array('status' => 1, 'msg' => '修改失敗'), 1); } }dialog是自定義的一個插件,裏面包含的彈窗。能夠忽略不看...