Находятся данные и отображаются через GridView
Определил одно поле как checkbox для выбора конкретных строк в экспорт
Пишу свой экспорт данных в Excel.
После отображения поиска у меня появляется таблица и кнопка
Код: Выделить всё
$btnExport = Html::a('<i class="glyphicon glyphicon-export"></i> <span class="hidden-md hidden-sm hidden-xs">' . \Yii::t('main', 'button.export') . '</span>', ['multi-export'], [
'id' => 'btn-multi-exp',
'class' => 'btn btn-success-dark',
'data' => [
'confirm' => \Yii::t('main', 'Are you sure you want to export selected rows?'),
'method' => 'post',
],
'target' => '_blank',
]);
Код: Выделить всё
'toolbar' => [
$btnExport,
],
Код: Выделить всё
$js = "
$(document).ready(function(){
$('#btn-multi-exp').on('click', function(){
var keyList = $('#my-grid').yiiGridView('getSelectedRows');
if(keyList != '') {
var keyOos = ".json_encode($searchModel->myModel->mymodel_id).";
var keyScope = ".json_encode($searchModel->my_scope).";
console.log(JSON.stringify({keyList, keyOos, keyScope}));
$('#btn-multi-exp').attr('data-params', JSON.stringify({keyList, keyOos, keyScope}));
} else {
$('#btn-multi-exp').removeAttr('data-params');
}
});
});";
Получается, что при первой загрузке данных и при первом выделении колонок с нажатием кнопки Экспорт отправляется, например, два идентификатора из грида. Отправляются через POST значения в actionMultiExport.
Если я не перезагружаю страницу (а это не надо), а довыбираю для экспорта еще пару строк из грида, то мой
Код: Выделить всё
console.log(JSON.stringify({keyList, keyOos, keyScope}));
Со страницы index по кнопке экспорта открываю мульти-экспорт в новом окне, в чем проблема может быть?