![](/img/trans.png)
[英]yii2: Process selected rows of gridview not working - ajax post is empty
[英]Yii2: Get selected rows data from gridView checkbox columns into controller
我在Yii2項目中查看了頁面( index.php
),我正在使用Kartik gridView來顯示數據
在視圖的右側,我有一個復選框列。 我有一個導出按鈕。 我想將所選名稱(由復選框選中)導出到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>
但我沒有得到任何東西,點擊時按鈕沒有顯示任何動作/反應。
`<?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']);
?>`
任何幫助,將不勝感激。 謝謝
通過檢查在復選框列元素 ,你可以找到行( 復選框名稱 )的名稱 。 它包含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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.