View:
Код: Выделить всё
$script = "
function setParams(){
var keyList = $('#grid').yiiGridView('getSelectedRows');
if(keyList != '') {
$('#btn-multi-del').attr('data-params', JSON.stringify({keyList}));
} else {
$('#btn-multi-del').removeAttr('data-params');
}
};";
$this->registerJs($script, yii\web\View::POS_BEGIN);
echo GridView::widget([
'id' => 'grid',
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
['class' => 'yii\grid\CheckboxColumn'],
'id',
'username',
'email',
'created_at',
['class' => ActionColumn::className()],
],
]);
echo Html::a('Удалить выбранные', ['multi-delete'], [
'id' => 'btn-multi-del',
'class' => 'btn btn-default',
'onclick' => 'setParams()',
'data' => [
'confirm' => 'Вы действительно хотите удалить выбранные элементы?',
'method' => 'post'
]
]);
Код: Выделить всё
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
'multi-delete' => ['post'],
],
],
];
}
public function actionMultiDelete()
{
if($keyList = Yii::$app->request->post('keyList'))
{
$arrKey = explode(',', $keyList);
//var_dump($arrKey); // Получен массив со значениями
}
return false;
}