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网站在线人数统计
Apr 09 PHP
php array_walk() 数组函数
Jul 12 PHP
php获取汉字首字母的函数
Nov 07 PHP
php判断是否为json格式的方法
Mar 04 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 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类声明和php类使用方法示例分享
2014/03/29 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
Javascript验证方法大全
2015/09/21 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
JavaScript 生成唯一ID的几种方式
2021/02/19 Javascript
Python实现控制台中的进度条功能代码
2017/12/22 Python
python 编写简单网页服务器的实例
2018/06/01 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
深入解析神经网络从原理到实现
2019/07/26 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
python模块内置属性概念及实例
2021/02/18 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
请介绍一下WSDL的文档结构
2013/03/17 面试题
财务主管的岗位职责
2013/12/30 职场文书
会议通知格式范文
2015/04/15 职场文书