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 相关文章推荐
PHP4实际应用经验篇(5)
Oct 09 PHP
php include的妙用,实现路径加密
Jul 29 PHP
在JavaScript中调用php程序
Mar 09 PHP
PHP多例模式介绍
Jun 24 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
php创建无限级树型菜单
Nov 05 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
php封装的mongodb操作类代码
Aug 06 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
深入剖析Node.js cluster模块
2018/05/23 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
PyQt5每天必学之组合框
2018/04/20 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
工作求职信
2014/07/04 职场文书
大一新生期末自我评价
2014/09/12 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
业务员岗位职责
2015/02/03 职场文书
2016十一国庆节感言
2015/12/09 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
golang switch语句的灵活写法介绍
2021/05/06 Golang
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python