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

发布时间 - 2026-01-11 00:10:27    点击率:

整理文档,搜刮出一个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, 
    )); 

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


# yii2  # 复选框  # 复选框批量  # yii  # Yii2 批量插入、更新数据实例  # YII框架批量插入数据的方法  # Yii框架批量插入数据扩展类的简单实现方法  # Yii2如何批量添加数据  # 浅析Yii2 gridview实现批量删除教程  # yii2使用GridView实现数据全选及批量删除按钮示例  # JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的  # Yii中CGridView实现批量删除的方法  # Yii2.0实现的批量更新及批量插入功能示例  # 有个  # 大家多多  # 不通过  # 加载  # 文档  # 请重试  # width  # center  # align  # px  # columns  # filter  # Controller  # headerHtmlOptions  # CCheckBoxColumn  # selectableRows  # data  # raw  # author_id 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: BootStrap整体框架之基础布局组件  如何基于云服务器快速搭建网站及云盘系统?  手机软键盘弹出时影响布局的解决方法  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  WEB开发之注册页面验证码倒计时代码的实现  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Linux安全能力提升路径_长期防护思维说明【指导】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何将凡科建站内容保存为本地文件?  如何在企业微信快速生成手机电脑官网?  在线教育网站制作平台,山西立德教育官网?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  电商网站制作价格怎么算,网上拍卖流程以及规则?  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  EditPlus 正则表达式 实战(3)  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  如何在服务器上三步完成建站并提升流量?  英语简历制作免费网站推荐,如何将简历翻译成英文?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  简单实现Android文件上传  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  网站制作报价单模板图片,小松挖机官方网站报价?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Laravel如何实现数据库事务?(DB Facade示例)  java ZXing生成二维码及条码实例分享  如何利用DOS批处理实现定时关机操作详解  活动邀请函制作网站有哪些,活动邀请函文案?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  网站建设保证美观性,需要考虑的几点问题!  在Oracle关闭情况下如何修改spfile的参数  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何在宝塔面板中修改默认建站目录?  如何用好域名打造高点击率的自主建站?  ,交易猫的商品怎么发布到网站上去?  如何快速上传建站程序避免常见错误?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Windows Hello人脸识别突然无法使用  齐河建站公司:营销型网站建设与SEO优化双核驱动策略