我在Yii2项目中查看了页面( index.php
),我正在使用Kartik gridView来显示数据
这是来自index.php的视图:
在视图的右侧,我've a checkbox column. And I'是一个 Export 按钮 . 我想将所选名称(由复选框选中)导出到 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.')
},
});
}
并设置 export 按钮,如下所示:
<p>
<button type="button" onclick="getRows()" class="btn btn-success">Export</button>
</p>
但我没有得到任何东西,点击时按钮没有显示任何动作/反应 .
这是index.php中的gridView代码:
`<?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> <b>Data</b>',
'before' => '', //IMPORTANT
],
]);
?>
<?php Pjax::end(); ?>
<?=
Html::a('<i class=" glyphicon glyphicon-export"></i> Export', ['export', 'userId' => $userId], ['class' => 'btn btn-success']);
?>`
任何帮助,将不胜感激 . 谢谢
1 回答
通过 inspect element 在 checkbox 列上,您可以找到 name 的行( checkbox name ) . 它包含 id as value .
从中可以找到选择了多少行 .
在我的情况下,我在复选框名称中得到' selection []' .
恩 .
我写了jquery代码来获取下面的选定行 .