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与MySQL交互使用详解
Oct 09 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
php生成高清缩略图实例详解
Dec 07 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
php使用PDO执行SQL语句的方法分析
Feb 16 PHP
PDO::errorInfo讲解
Jan 28 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 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学习之数据类型之间的转换介绍
2011/06/09 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
php简单生成随机数的方法
2015/07/30 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
PHP递归的三种常用方式
2019/02/28 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
js实现筛选功能
2020/11/24 Javascript
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
python 使用while循环输出*组成的菱形实例
2020/04/12 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
如何通过python计算圆周率PI
2020/11/11 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
中药专业毕业自荐书范文
2014/02/08 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
计划生育宣传标语
2014/06/21 职场文书
英文感谢信格式
2015/01/21 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android