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与PHP3中一个不兼容问题的解决方法
Oct 09 PHP
关于文本留言本的分页代码
Oct 09 PHP
中国站长站 For Dede4.0 采集规则
May 27 PHP
php字符串分割函数explode的实例代码
Feb 07 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
Mar 07 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
PHP实现读取文件夹及批量重命名文件操作示例
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采集速度探究总结(原创)
2008/04/18 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
php 函数中使用static的说明
2012/06/01 PHP
PHP单例模式详细介绍
2015/07/01 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Python Http请求json解析库用法解析
2020/11/28 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
注塑工厂厂长岗位职责
2013/12/02 职场文书
高中美术教学反思
2014/01/19 职场文书
七年级生物教学反思
2014/01/30 职场文书
汽车促销活动方案
2014/03/31 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
公司员工违纪检讨书
2015/05/05 职场文书