В JS есть обработчик закрытия модального окна. Там нужно прописать параметры в data для твоей кнопки и через POST придут в контроллер параметры.
P.S.
Можно таким образом передавать, однако в твоём случае можно и упростить.
Обработчик закрытия модального окна, а дальше внутри происходит submit формы
Код: Выделить всё
$js = "
$(document).ready(function(){
$('#btn-multi-exp').on('click', function(e){
var my_id = '".1111."';
var my_parent_id = '".123."';
if(ids != '') {
$('#btn-multi-exp').attr('data-params', JSON.stringify({my_id, my_parent_id}));
} else {
$('#btn-multi-exp').removeAttr('data-params');
return false;
}
});
$(document).on('hidden.bs.modal', '.modal', function() {
document.getElementsByTagName('form')[0].submit();
});
});"
$this->registerJs($js);
Сама кнопка
Код: Выделить всё
echo 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',
]
);
Если упростить, то из js нужна нижняя часть, а в кнопку передавай вот так.
Код: Выделить всё
echo 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',
'params' => [
'my_id' => $my_id,
'my_parent_id' => $my_parent_id,
],
],
'target' => '_blank',
]
);
Для альтернативы дал два способа