Yii2: получить выбранные данные строк из столбцов столбца gridView в контроллер

У меня есть страница просмотра ( index.php ) в моем проекте Yii2, и я использую gridView Kartik для отображения данных

Это представление из index.php:

введите описание изображения здесь

В правой части окна есть столбец флажка. И у меня есть кнопка « Экспорт» . Я хочу экспортировать выбранное имя (выбранное по name.txt ) в файл name.txt .

Я, наконец, сделал функцию экспорта, но я не знаю, как получить выбранные данные из представления в контроллер.

Я пробовал предложения, которые я получил на многих форумах, например:

Я поставил этот код javascript в свой индекс index.php :

 <script> function getRows(){ var keys = $('#grid').yiiGridView('getSelectedRows'); $.post({ url: FakturOutController / exportAction, dataType: 'json', data: {keylist: keys}, success: function(data) { alert('I did it! Processed checked rows.') }, }); } 

и установите кнопку экспорта следующим образом:

 <p> <button type="button" onclick="getRows()" class="btn btn-success">Export</button> </p> 

Но я ничего не получил, кнопка не показывала никаких действий / реакции при нажатии.

Это код gridView в index.php:

 `<?php Pjax::begin(); ?> <?= GridView::widget([ 'dataProvider' => $dataProvider, 'tableOptions' => ['class' => 'table table-hover'], 'columns' => [ ['class' => 'yii\grid\SerialColumn', 'header' => 'No', ], [ 'label' => 'Name', 'value' => function($data) { return $data->name; } ], ['class' => '\kartik\grid\CheckboxColumn'], ], 'toolbar' => [ ['content' => Html::a('<i class="glyphicon glyphicon-repeat"></i>', ['index'], ['data-pjax' => false, 'class' => 'btn btn-default', 'title' => 'Reset Grid']) ], '{export}', '{toggleData}' ], 'panel' => [ 'heading' => '<i class="glyphicon glyphicon-align-left"></i>&nbsp;&nbsp;<b>Data</b>', 'before' => '', //IMPORTANT ], ]); ?> <?php Pjax::end(); ?> <?= Html::a('<i class=" glyphicon glyphicon-export"></i> Export', ['export', 'userId' => $userId], ['class' => 'btn btn-success']); ?>` 

Любая помощь будет оценена по достоинству. благодаря

Solutions Collecting From Web of "Yii2: получить выбранные данные строк из столбцов столбца gridView в контроллер"

При проверке элемента на столбце флажка вы можете найти имя строки ( имя флажка ). он содержит id как значение .

из которого вы можете найти, сколько строк выбрано.

в моем случае я получаю ' selection []' в имени флажка.

ех.

 <input type="checkbox" class="kv-row-checkbox" name="selection[]" value="1"> 

Я пишу код jquery, чтобы получить выбранные строки ниже.

 <script> function getRows() { var strvalue = ""; $('input[name="selection[]"]:checked').each(function() { if(strvalue!="") strvalue = strvalue + ","+this.value; else strvalue = this.value; }); // strvalue contain selected row by comma separated $.post({ url: FakturOutController / exportAction, dataType: 'json', data: {keylist: keys}, success: function(data) { alert('I did it! Processed checked rows.') }, }); } </script>