Código PHP:
//mostrar combos
<br><br><b>Provincia</b><br>
<select name="provinciaList" id="provinciaList" onChange="return provinciaListOnChange()">
<option >Seleccione la Provincia...</option>
<option value="" >..............................</option>
<?php
$xml = simplexml_load_file('provinciasypoblaciones.xml');
$result = $xml->xpath("/lista/provincia/nombre | /lista/provincia/@id");
for ($i=0;$i<count($result);$i+=2)
{
$e=$i+1;
$provincia=UTF8_DECODE($result[$e]);
echo("<option value='$result[$i]'>$provincia</option>");
}
?>
</select>
<b>Localidad</b><br>
<div id="celda_localidad">
<select name="localidadList" id="localidadList" >
<option >Seleccione antes una Provincia</option>
<option value="" >..............................</option>
</select> <span id="advice"> </span>
Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
<lista>
<provincia id="01">
<nombre><![CDATA[Valladolid]]></nombre>
<localidades>
<localidad c="0"><![CDATA[Adalia]]></localidad>
<localidad c="0"><![CDATA[Aguasal]]></localidad>
</localidades>
</provincia>
<provincia id="02">
<nombre><![CDATA[Vizcaya]]></nombre>
<localidades>
<localidad c="0"><![CDATA[Abadiño]]></localidad>
<localidad c="0"><![CDATA[Abadiño-zelaieta]]></localidad>
</localidades>
</provincia>
</lista>
Código PHP:
<br><br><b>Provincia</b><br>
<select name="provinciaList" id="provinciaList" onChange="return provinciaListOnChange()">
<option >Seleccione la Provincia...</option>
<option value="" >..............................</option>
<?php
$xml = simplexml_load_file('provinciasypoblaciones.xml');
$result = $xml->xpath("/lista/provincia/nombre | /lista/provincia/@id");
for ($i=0;$i<count($result);$i+=2)
{
$e=$i+1;
$provincia=UTF8_DECODE($result[$e]);
echo("<option value='$result[$i]'>$provincia</option>");
}
?>
</select>
<b>Localidad</b><br>
<div id="celda_localidad">
<select name="localidadList" id="localidadList" >
<option >Seleccione antes una Provincia</option>
<option value="" >..............................</option>
</select> <span id="advice"> </span>
<script>
function localidadnueva(){$('inputtextolocalidad').innerHTML='<input type="text" name="localidadtxt" id="localidadtxt" value="" / size="50">';}
</script>
<a href="javascript:localidadnueva()">¿No encuentras tu localidad en el listado? Click aquí</a>
Bien. Como digo, todo esto funciona correctamente. Para rizar más el rizo pensé "¿pero y si el visitante ha clickado en ese enlace por error, cómo volvería a ver otra vez todas las localidades?" y pensé nuevamente en hacerlo con otra función que me volviera a mostrar las localidades o el combo de localidades. Y aquí es donde falla, porque aunque logro mostrar el combo, no logro que se carguen las localidades. Es evidente que el tema está en el churro de función para volver a mostrar las localidades que he hecho pero es que estoy bloqueado y no se me ocurre como plantear la solución. lo que he hecho es poner al lado de ese campo de texto nuevamente el enlace "Volver a mostrar el listado anterior", y cargar una función que logra mostrarme una lista pero que no me carga las localidades. El tema está en como meter mano a esa función para que me cargue las localidades. Lo que yo hago es esto:
Código PHP:
<br><br><b>Provincia</b><br>
<select name="provinciaList" id="provinciaList" onChange="return provinciaListOnChange()">
<option >Seleccione la Provincia...</option>
<option value="" >..............................</option>
<?php
$xml = simplexml_load_file('provinciasypoblaciones.xml');
$result = $xml->xpath("/lista/provincia/nombre | /lista/provincia/@id");
for ($i=0;$i<count($result);$i+=2)
{
$e=$i+1;
$provincia=UTF8_DECODE($result[$e]);
echo("<option value='$result[$i]'>$provincia</option>");
}
?>
</select>
<b>Localidad</b><br>
<div id="localidadcambio">
<select name="localidadList" id="localidadList" >
<option >Seleccione antes una Provincia</option>
<option value="" >..............................</option>
</select> <span id="advice"> </span>
<script>
function localidadnueva(){$('localidadcambio').innerHTML='<input type="text" name="localidadtxt" id="localidadtxt" value="" / size="50"> <a href="javascript:listadolocalidades()">[B]Volver a mostrar el listado anterior[/B]</a>';}
function listadolocalidades(){
$('celda_localidad').innerHTML='<div id="localidadcambio"><select name="localidadList" id="localidadList" ><option >Seleccione antes una Provincia</option><option value="" >..............................</option></select> <span id="advice"> <a href="javascript:localidadnueva()">¿No está tu localidad en el listado?</a></span> ';
</script>
<a href="javascript:localidadnueva()">¿No encuentras tu localidad en el listado? Click aquí</a>