Estoy trabajando en un registro y tengo campos para país y estado.
Mi problema es que el país y el estado que elegí no se conservaron después de la presentación.
probé esto
<script type="text/javascript"> document.getElementById('country').value = "<?php echo $_POST['country'];?>"; </script>pero no funcionó.
así que probé otra opción usando sessionStorage
$(function() { $('#country').change(function() { sessionStorage.setItem('todoData', this.value); }); if(sessionStorage.getItem('todoData')){ $('#country').val(sessionStorage.getItem('todoData')); } }); </script>Funciona en el país pero no en el estado, las opciones siguen siendo las opciones predeterminadas.
¿Cómo puedo arreglar eso... o hay otra opción para que funcione?
Gracias.
CÓDIGO DE MUESTRA
Aquí hay un ejemplo práctico de la funcionalidad que desea. Estoy usando localStorage como la persona que respondió antes que yo.
https://jsfiddle.net/a0uj5d86/2/
//handle select changes, put new data in storage document.getElementById('country').onchange = function () { console.log('country change'); localStorage.setItem('country', this.value); populateStates('country', 'state'); }; document.getElementById('state').onchange = function () { localStorage.setItem('state', this.value); }; document.getElementById('country2').onchange = function () { localStorage.setItem('country2', this.value); };Luego en los países poblados al final tengo un pequeño diddy que va
var selection = 'USA'; if (localStorage.getItem(countryElementId)) { console.log('found ' + countryElementId + ' in storage = ' + localStorage.getItem(countryElementId)); var selection = localStorage.getItem(countryElementId); } //select our country (default USA, or local storage if applicable) findAndSelect(countryElementId, selection); if (countryElementId == 'country') { //we just populated country, now populate states populateStates(countryElementId, stateElementId); if (localStorage.getItem(stateElementId)) { //if weve got a state to select, select it findAndSelect(stateElementId, localStorage.getItem(stateElementId)); } else { findAndSelect(stateElementId, 'Alabama'); } }También hice algunas refactorizaciones al código que tenías. ¡Échale un vistazo y contáctame con cualquier pregunta!
¿Se le permite usar el almacenamiento local de HTML5?
var selectedVal = localStorage.getItem('selectedVal'); if (selectedVal){ $('#mySelect').val(selectedVal) }aquí hay un violín http://jsfiddle.net/jvso1Lcc/22/