Yii实现复选框批量操作实例代码


Posted in PHP onMarch 15, 2017

整理文档,搜刮出一个Yii实现复选框批量操作实例代码,稍微整理精简一下做下分享。

在视图下

<?php $this->widget('zii.widgets.grid.CGridView', array(
 'id'=>'user-grid',
 'dataProvider'=>$model->search(),//Model里需要有个search()方法,$model是Controller中传递的Model对象
// /'filter'=>$model,
 'columns'=>array(
    array(
      'selectableRows' => 2,
      'class' => 'CCheckBoxColumn',
      'headerHtmlOptions' => array('width'=>'18px','align'=>'center'),
      'checkBoxHtmlOptions' => array('name' => 'ids[]','align'=>'center'),
    ),
'homework_numberID',
'type',
'target',
'state',

'author_id',
    array('name'=>'state','type'=>'raw','value'=>'($data->state =="not_read" ?"未读":"已审核")'),
    // array('name'=>'passRecord','type'=>'date'),
    array('name'=>'submit_time','type'=>'date'),
 array(
   'class'=>'CButtonColumn',
 ),
 ),
)); ?>
<select name="status" id="status">
  <option value="1">通过</option>
  <option value="0">不通过</option>
</select>
<button type="button" onclick="setStatus();" style="width:120px;">设置状态</button>
<script type="text/javascript">
  function getData(){
    var data=new Array();
    $("input:checkbox[name='ids[]']").each(function (){
      if($(this).attr("checked")){
        data.push($(this).val());
      }
    });

    return data;
  }
  function setStatus(){
    var data = getData();
    if(data.length < 1) {
      alert('请至少选择一个项目。');
      return ;
    }
 //这里是传递的url post方法
    $.post("index.php?r=user/status",{'ids[]':data,'status':$('#status').val()}, function (data) {
      if (data=='ok') {
        alert('设置状态成功!');
      }else{
        alert('设置状态失败,请重试!');
      }
      window.open('index.php?r=user/admin','mainFrame');;
    });
  }
</script>

在Model中的search()函数

public function search() 
  { 
    // @todo Please modify the following code to remove attributes that should not be searched. 

    $criteria=new CDbCriteria; 

    //$criteria->with = array('author'); //添加了和 author 的渴求式加载 
    // $this->state = "not_passed";
    $criteria->compare('state',$this->state); 


    //这里添加了一个 compare, username 是 User 表的字段,$this->name 是我们添加的属性,true 为模糊搜索 
    //$criteria->compare('username',$this->name,true); 

    return new CActiveDataProvider($this, array( 
     'criteria'=>$criteria, 
    ));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
基于empty函数的判断详解
Jun 17 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
php实现图片上传、剪切功能
May 07 PHP
PHP7+Nginx的配置与安装教程详解
May 10 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
php常用的工具开发整理
Sep 26 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 22 PHP
thinkPHP实现签到功能的方法
Mar 15 #PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
Mar 14 #PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 #PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 #PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 #PHP
Yii2下点击验证码的切换实例代码
Mar 14 #PHP
php分页查询的简单实现代码
Mar 14 #PHP
You might like
PHP的几个常用数字判断函数代码
2012/04/24 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
jquery ajax 调用失败的原因示例介绍
2013/09/27 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
AngularJS与后端php的数据交互方法
2018/08/13 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
详解React 元素渲染
2020/07/07 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
Python中的startswith和endswith函数使用实例
2014/08/25 Python
Python兔子毒药问题实例分析
2015/03/05 Python
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
python反扒机制的5种解决方法
2021/02/06 Python
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
模具设计与制造专业推荐信
2014/02/16 职场文书
机房搬迁方案
2014/05/01 职场文书
白血病捐款倡议书
2014/05/14 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
五四青年节的活动方案
2014/08/20 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
美容院管理规章制度
2015/08/05 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android