document.addEventListener('DOMContentLoaded', function () { const villeSelect = document.getElementById('sortie_ville'); const lieuSelect = document.getElementById('sortie_lieu'); const rueLabel = document.getElementById('rue-value'); const codePostalLabel = document.getElementById('codePostal-value'); const latitudeLabel = document.getElementById('latitude-value'); const longitudeLabel = document.getElementById('longitude-value'); if (villeSelect && lieuSelect) { villeSelect.addEventListener('change', function () { const villeId = villeSelect.value; lieuSelect.innerHTML = ''; lieuSelect.disabled = true; if (villeId) { fetch(`/get-lieux/${villeId}`) .then(response => { if (!response.ok) { throw new Error('Erreur lors de la récupération des lieux'); } return response.json(); }) .then(data => { lieuSelect.innerHTML = ''; data.forEach(lieu => { const option = document.createElement('option'); option.value = lieu.id; option.textContent = lieu.nom; option.dataset.details = JSON.stringify(lieu); lieuSelect.appendChild(option); }); lieuSelect.disabled = false; }) .catch(error => { console.error('Erreur lors de la récupération des lieux :', error); }); } }); lieuSelect.addEventListener('change', function () { const selectedOption = lieuSelect.options[lieuSelect.selectedIndex]; if (selectedOption && selectedOption.dataset.details) { const lieuDetails = JSON.parse(selectedOption.dataset.details); rueLabel.textContent = lieuDetails.rue || 'Non renseignée'; codePostalLabel.textContent = lieuDetails.codePostal || 'Non renseigné'; latitudeLabel.textContent = lieuDetails.latitude || 'Non renseignée'; longitudeLabel.textContent = lieuDetails.longitude || 'Non renseignée'; } else { rueLabel.textContent = 'Renseigner avec le lieu'; codePostalLabel.textContent = 'Renseigner avec le lieu'; latitudeLabel.textContent = 'Renseigner avec le lieu'; longitudeLabel.textContent = 'Renseigner avec le lieu'; } }); } else { console.error('Les champs ville-select ou lieu-select sont introuvables.'); } });