Yii通过Ajax修改字段值的方法
来源:互联网 发布:天猫网络环境异常 编辑:程序博客网 时间:2024/05/22 05:25
Ajax修改状态:
控制器部分:
dialog是自定义的一个插件,里面包含的弹窗。可以忽略不看...
HTML部分
<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是自定义的一个插件,里面包含的弹窗。可以忽略不看...
0 0
- Yii通过Ajax修改字段值的方法
- 通过反射修改指定对象字段值的通用方法
- 通过反射修改类的私有字段值,调用私有方法
- 通过反射修改类的私有字段值,调用私有方法
- 修改字段数据类型的方法
- Oracle修改字段的方法
- Yii 自动设置模型的字段值
- 通过反射修改类的某些字段
- yii中select字段时用别名的设置方法
- 对于当浏览器通过ajax加载的文件还是修改前的文件的处理方法
- oracle 修改字段类型的方法
- oracle 修改字段类型的方法
- Oracle 修改字段类型的方法
- oracle 修改字段类型的方法
- oracle 修改字段类型的方法
- 修改mysql字段顺序的方法
- Mysql 添加/修改/删除字段的方法
- oracle 修改字段类型的方法
- C++异常传递三种不同方式介绍
- 解读Unity中的CG编写Shader系列7——漫反射
- 深度学习( Deep Learning )软件资源列表
- 需要符号拓展的移位运算
- C++学习笔记(第三章 多分支结构 循环程序设计 之一)
- Yii通过Ajax修改字段值的方法
- [Rtsp]海康网络摄像头基于RTSP协议的windows平台监控
- 你好,C++(10)这次的C++考试你过了没有?C++中表示逻辑判断的布尔数据类型
- Deep Learning Tutorials 0.1
- Android Activity之间动画完整版详解
- 黑马程序员-交通灯管理系统
- jQuery移除tr
- php5.3.x连接sql server 2005 (php5.3连接mssql)
- android应用开发详解(七)-------------------布局管理Layout