<?
$arResult["GRID_ACTION_PANEL"]["GROUPS"][0]["ITEMS"][] = [
'TYPE' => \Bitrix\Main\Grid\Panel\Types::BUTTON,
'ID' => "approve_button",
'CLASS' => "apply",
'TEXT' => 'СОГЛАСОВАТЬ',
'ONCHANGE' => [
[
'ACTION' => \Bitrix\Main\Grid\Panel\Actions::CALLBACK,
'CONFIRM' => true,
'CONFIRM_APPLY_BUTTON' => 'Cогласовать',
'CONFIRM_MESSAGE' => 'Подтвердите действие для отмеченных элементов',
'CONFIRM_CANCEL_BUTTON' => 'Отменить',
'DATA' => [
[
'JS' => 'BX.GridActions.approve();'
]
],
],
]
];
<script>
BX.GridActions = {
approve: function () {
var gridObject = BX.Main.gridManager.getInstanceById('<?=$arResult["GRID_ID"]?>');
var data = gridObject.getRows().getSelectedIds();
BX.ajax.post(
"/local/ajax/detergent_request/ajax.php?mode=approve",
{
iblock_id: <?= $arResult["IBLOCK_ID"] ?>,
data: data,
user: <?=$USER->GetId()?>
},
function (response) {
response = BX.parseJSON(response);
if (typeof response == 'object' && response != null) {
if (response.msg && response.msg !== '') {
alert(response.msg);
return false;
}
}
}
);
gridObject.reload();
}
}
</script>