Así que tengo un botón de mes anterior y siguiente y eventos on.click para llamadas ajax. Mi referencia es solo un mes en cadena para mi ejemplo 'abril'.
Evento de botón de muestra para el botón 'siguiente',
$(document).on('click', '.events-next', function() { var $el = $(this); var action = $el.attr('data-action'); var $month = $('.events-month-option').text(); $.ajax({ method: 'post', url: path+'js/ajax/get-events.php', data: { 'current_month': $month, 'action': action, 'xid': c_xid }, dataType: 'json' }).done(function(data){ console.log(data); }).fail(function(data){ dialogAlert('Error', 'Unable to retrieve events.', 'error'); }); });
y mi archivo Ajax
$response = array(); $current_month = ($_POST['current_month'] ?? NULL); $month = date('m', strtotime($current_month)); $action = ($_POST['action'] ?? NULL); if($action == 'next'){ $new_period = date('m', strtotime($month.' +1 month')); } $response['new_month'] = $new_period; $response['action'] = $action;
¿Por qué obtengo un valor de 12? en cambio 05 para mayo? Y después de hacer clic en mi botón nuevamente, ya no se actualiza.