整理文档,发现一个用GridView实现数据全选及批量删除按钮示例,稍微整理精简一下做下分享。

先来看实现的效果

关键代码如下:

  <?= GridView::widget([   "dataProvider" => $dataProvider,   "showFooter" => true, //设置显示最下面的footer    "id" => "grid",    "columns" => [     [      "class"=>CheckboxColumn::className(),      "name"=>"id",      "headerOptions" => ["width"=>"30"],      "footer" => "<button href="#" rel="external nofollow" class="btn btn-default btn-xs btn-delete" url="". Url::toRoute("admin/delete") ."">删除</button>",      "footerOptions" => ["colspan" => 5],     ],     ["attribute" => "id", "footerOptions" => ["class"=>"hide"]], //其他列每个都要增加footerOptions项,设置class为hide,到达隐藏效果;     ["attribute" => "username", "footerOptions" => ["class"=>"hide"]],     [      "attribute" => "status",      "value" => function($model){       if ($model->status == Admin::STATUS_ACTIVE){        return "启用";       }       return "禁用";      },      "footerOptions" => ["class"=>"hide"]     ],     ["class" => "yiigridActionColumn", "header" => "管理操作", "footerOptions" => ["class"=>"hide"]],    ],   "layout" => "{items}{pager}"  ]); ?>

最后已选数据的获取:

var ids = $("#grid").yiiGridView("getSelectedRows");

获取数据后就可以ajax提交到想要的controller

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