Reinicializace fullCalendaru

_kali_malek_
Člen | 7
+
0
-

Zdravím,

mam problém s inicializací FullCalendaru po odeslání AJAXU. Používám nette.ajax.js.

Mám tento selectbox:

<form n:name="selectTrainerForm">`
	<div class="form-group">
		<select class="form-control trainers" id="trainerSelect" n:name="trainer_id"></select>
    </div>
	<button type="submit" class="btn btn-success ajax col-12">Vybrat</button>
</form>

A tento JS:

<script>
$(function () {
        $.nette.init();

        calendarInit();


        let trainer_id;

        $('select.trainers').on('change', function () {

            // Get ID from selectbox
            trainer_id = $(this).children('option:selected').val();

            if (trainer_id !== '') {

                $.nette.ajax({
                    type: 'GET',
                    url: {link selectedTrainer!},
                    data: {'trainer_id': trainer_id},
                    success: function () {
                        calendarInit();
                    }
                });

            } else {
                // flashMessage
            }
        });

    });
</script>

Pod tím mám funkci calendarInit(), kde inicializuji kalendář:

<script>
function calendarInit() {
        $('#fullCalendar').fullCalendar({
		......
		......
		})
}
</script>

Potřebuji to, aby se po každé změně selectboxu překreslil kalendář. Ale zobrazí se pouze jednou (při načtení stránky). Po výběru ze selectu zmizí. Hádám že se neinializuje.

Díky předem za jakékoli rady! :)

Phalanx
Člen | 310
+
0
-

Jenom přidej reinicializaci po aktualizaci selectu

<script>
$.nette.ext('fullCalendarReInit', {
	success: function(payload) {
		calendarInit();
	}
});
</script>