Foros del Web » Programando para Internet » ASP Clásico »

Seleccionar un determinado valor en un desplegable

Estas en el tema de Seleccionar un determinado valor en un desplegable en el foro de ASP Clásico en Foros del Web. Hola a todos El tema es el siguiente. Los famosos combos dependientes en Ajax, ASP y 2 tablas (provinicias y poblaciones). Bueno, pues cuando estoy ...
  #1 (permalink)  
Antiguo 04/03/2008, 10:13
Avatar de fario13  
Fecha de Ingreso: junio-2004
Ubicación: Entre Madrid y Logroño
Mensajes: 411
Antigüedad: 20 años
Puntos: 7
Seleccionar un determinado valor en un desplegable

Hola a todos

El tema es el siguiente. Los famosos combos dependientes en Ajax, ASP y 2 tablas (provinicias y poblaciones). Bueno, pues cuando estoy añadiendo un registro funciona sin problemas. Lo que no consigo hacer es que cuando edito un registro se seleccione (en el desplegable) la poblacion que esta grabada en la tabla. Por ejemplo, el usuario al editar sale que su provincia es "madrid", bien, pero en el desplegable de poblacion sale "elija poblacion" en lugar de la que tiene grabada.

Ese es mi problema, como puedo modificar el codigo en AJAX (encontrado en estos maravillosos foros) para que marque la poblacion ???

Gracias
__________________
Bodegas La Rioja
  #2 (permalink)  
Antiguo 04/03/2008, 10:52
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Seleccionar un determinado valor en un desplegable

Yo lo resolví así en el formulario de edición del registro:

Código:
      <select name="id_municipio" class="campos" id="id_municipio" onchange="cargaContenido()">
        <option value="">-- ELEGIR OTRO MUNICIPIO --</option>
        <option value="<? echo $datos['id_municipio'] ?>" selected="selected"><? echo $datos['municipio'] ?></option>
      </select>

Si selecciono otra provinicia, se ejecuta la función cargaContenido(). Si selecciono ELEGIR OTRO MUNICIPIO también, por lo que me carga un el listado con las poblaciones de la provincia actual.
__________________
...___...
  #3 (permalink)  
Antiguo 05/03/2008, 02:36
Avatar de fario13  
Fecha de Ingreso: junio-2004
Ubicación: Entre Madrid y Logroño
Mensajes: 411
Antigüedad: 20 años
Puntos: 7
Re: Seleccionar un determinado valor en un desplegable

Hola

No entiendo lo que me quieres decir, ademas mi codigo esta en ASP. Mejor te copio el codigo. Los desplegables son estos:

<tr>
<td width="20%" align="right">Provincia <font color="#FF0000">*</font>&nbsp;&nbsp;</td>
<td width="80%" align="left">
<%
' Selecciono Provincia
sql = "Select * From provincia"
rs.Open sql,conexion,1,2
%>
<select name="fprovincia" id="fprovincia" onchange="javascript:cargarCombo('ajax_provincias. asp', 'fprovincia', 'div_poblacion')">
<option value="">Elija una Provincia...</option>
<%while not rs.eof%>
<option value="<%=rs("prvid")%>" <%if clprovincia=rs("prvid") then response.write(" selected") end if%>><%=rs("prvnombre")%></option>
<%rs.movenext
wend
rs.close%>
</select>
</td>
</tr>
<tr>
<td width="20%" align="right">Poblacion <font color="#FF0000">*</font>&nbsp;&nbsp;</td>
<td width="80%" align="left">
<div id="div_poblacion">
</div>
</td>
</tr>


La funcion CargarCombo es esta:

function cargarCombo (url, comboAnterior, element_id) {
//Obtenemos el contenido del div
//donde se cargaran los resultados
var element = document.getElementById(element_id);
//Obtenemos el valor seleccionado del combo anterior
var valordepende = document.getElementById(comboAnterior)
var x = valordepende.value
//construimos la url definitiva
//pasando como parametro el valor seleccionado
var fragment_url = url+'?Id='+x;
element.innerHTML = '<img src="Imagenes/loading.gif" />';
//abrimos la url
peticion.open("GET", fragment_url);
peticion.onreadystatechange = function() {
if (peticion.readyState == 4) {
//escribimos la respuesta
element.innerHTML = peticion.responseText;
}
}


Y el codigo de Ajax_provincias.asp es este:


<%
Dim Conexionajax,Tablaajax,Tempajax
Set Conexionajax=Server.CreateObject("adodb.connection ")
Set Tablaajax=Server.CreateObject("adodb.recordset")
conexionajax.Open "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.mappath("../mdb/tienda.mdb")

tempajax = "Select * FROM poblacion where pobprovinciaid="&request.querystring("id")
Tablaajax.Open tempajax,conexionajax
response.write("<select name='fpoblacion' id='fpoblacion'>")
response.write("<option value=''>Elija una Poblaci&oacute;n...</option>")
do while not tablaajax.eof%>
<option value="<%=tablaajax.fields("pobid")%>" <%if clpoblacion=tablaajax.fields("pobid") then response.write(" selected") end if%>><%=tablaajax.fields("pobnombre")%></option>
<%tablaajax.movenext
loop
response.write("</select>")
tablaajax.close
set tablaajax=nothing
conexionajax.close
set conexionajax=nothing
%>



Gracias!!!!1
__________________
Bodegas La Rioja
  #4 (permalink)  
Antiguo 05/03/2008, 04:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 21
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Seleccionar un determinado valor en un desplegable

Has probado a ejecutar una función como está de Javascript:

function SeleccionarProvincia(pobid)
{

for (var i = 0; i < document.getElementById("fpoblacion").length; i++) {
if (document.getElementById('fpoblacion').options[i].value == pobid)
{
document.getElementById('fpoblacion').options[i].selected = true;
}
}
}

Con esta función recorres el select y cuando encuentra el valor que coincide con el ID de la provincia marca la opción con el selected = true;

Saludos!
  #5 (permalink)  
Antiguo 05/03/2008, 05:23
Avatar de fario13  
Fecha de Ingreso: junio-2004
Ubicación: Entre Madrid y Logroño
Mensajes: 411
Antigüedad: 20 años
Puntos: 7
Re: Seleccionar un determinado valor en un desplegable

Y esta funcion se ejecuta al desencadenarse ... que evento? Donde la coloco?
__________________
Bodegas La Rioja
  #6 (permalink)  
Antiguo 05/03/2008, 05:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 21
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Seleccionar un determinado valor en un desplegable

Yo la coloco en un script de javascript al final de la página html.

También suelo llamarla desde ese script con un setTimeout para que se ejecute al cabo de un segundo de cargar la página.

Pero en tu caso tal vez lo mejor sería ejecutarlo después del código
element.innerHTML = peticion.responseText;
de la función CargaCombo.
  #7 (permalink)  
Antiguo 05/03/2008, 10:50
Avatar de fario13  
Fecha de Ingreso: junio-2004
Ubicación: Entre Madrid y Logroño
Mensajes: 411
Antigüedad: 20 años
Puntos: 7
Re: Seleccionar un determinado valor en un desplegable

Bueno, lo he hecho de otra forma, pero al final ha funcionado. De todas formas muchas gracias por vuestra aportaciones, ya que he aprendido algo mas....

Un saludo
__________________
Bodegas La Rioja
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:18.