Foros del Web » Programando para Internet » Javascript »

¿Como refrescar select?

Estas en el tema de ¿Como refrescar select? en el foro de Javascript en Foros del Web. Hola: Haber, mi problema es que no sé como refrescar un select. Me explico: En mi página web tengo dos select con la particularidad de ...
  #1 (permalink)  
Antiguo 08/03/2008, 16:18
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación ¿Como refrescar select?

Hola:
Haber, mi problema es que no sé como refrescar un select.
Me explico: En mi página web tengo dos select con la particularidad de que el segundo select se rellena en fucnión del valor elegido en el primer select. Despues en el segundo select, he puesto un evento "Onclick, para que ,me muestre los datos de la BD en un formulario.
El problema que tengo es que cuando modifico los datos en el fomulario( en el mismo que me sirve para mostrar los datos), pues los modifica en la BD, pero no los recarga en el segundo select.
¿Como puedo solucionarlo?
Gracias de antemano
  #2 (permalink)  
Antiguo 09/03/2008, 16:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación Re: ¿Como refrescar select?

Por favor, me podéis ayudar???
  #3 (permalink)  
Antiguo 09/03/2008, 18:42
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Re: ¿Como refrescar select?

Hola, mmm pues deberías de revisar el código PHP por lo que dices que te actualiza la BD
puedes poner el código en el foro de PHP si lo pones yo te ayudo va??
sale
__________________
Aerolíneas Alicia :D
  #4 (permalink)  
Antiguo 09/03/2008, 18:59
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 11 meses
Puntos: 832
Re: ¿Como refrescar select?

Carol_84, lo siguiente no responde directamente a tu pregunta, pero si acaso estás abierta a la posibilidad de revisar scripts alternos que hagan esa función, te dejo un enlace a un excelente script: Ajax Linked Select Boxes. En la misma web hay ejemplos y documentación.
  #5 (permalink)  
Antiguo 10/03/2008, 12:20
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación Re: ¿Como refrescar select?

Hola:
Haber pongo parte de m código:
Cita:
<?php

..........
............
..............

// Inicio Formulario .. PHP_SELF enviamos a si mismo (a este script).
echo "<form name=\"formu\" action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";

// Formar Selec "Padre".
echo "<label nombre=\"tipo\">Nombre usuario</label>\n";
echo "<select name=\"id_padre\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un usuario </option>\n";
$SQLconsulta_padre="SELECT iniciales,login,CONCAT(nombre,' ',apellido1) AS campos FROM usuario WHERE perfil <>1";
$consulta_padre = mysql_query($SQLconsulta_padre,$con) or die(mysql_error());
While ($registro_padre=mysql_fetch_assoc($consulta_padre )){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
if ($id_padre == $registro_padre['login']){
echo "<option value=\"".$registro_padre['login']."\" selected>".$registro_padre['campos']."</option>\n";
}
..........
...........
// Formar Select "Secundario"
echo "<label nombre=\"titulo_publi\">Titulo publicaci&oacute;n</label>\n";
echo "<select name=\"id_hija\" onchange=\"getData('mostrar.php','q='+ this.value+'&actualizar='+this.name, 'destino')\">\n";
if (!empty($id_padre)){
$consul1="SELECT iniciales FROM usuario WHERE login = '$id_padre'";
$consul2 = mysql_query($consul1,$con) or die(mysql_error());
.........
...........

Este código que he puesto anteriormente hace que se carge el primer select con los datos de la BD, y despues en función del valor elegido en el primer select
carga el segundo select tb con datos de la BD.
Cuando se carga el segundo select,a través del evento "onchange", los muestra en otra página, tal y como señalo en color rojo.
En la página mostrar.php se reciben los datos y se muestran a traves de un formulario( que es el código que pongo a continuación).


Cita:
..........
..........
$valor=$_POST['q'];
$etiqueta = $_POST['actualizar'];
?>
<script language="JavaScript" type="text/javascript" src="anadir_publicacion.js"></script>
<?php


//Se realiza la consulta para mostrar los datos
$c="SELECT * FROM publicaciones WHERE codigo= '" . $valor ."';";
$resultado= mysql_query($c) or die("<font color=\"#FF0000\"> ERROR EN LA CONSULTA</FONT>".mysql_error());
$resultado1= mysql_fetch_array($resultado);


..........
.............
<tr>
<td> Titulo</td>
<td> <input type = "text" name = "titulo" value="<?php echo $resultado1['titulo']; ?>" onchange = "compUsuario();getData('modificarpublicaciones.php ','eti='+this.name+'&nuevo_valor='+this.value +'&amp;ocul='+ document.getElementById('oculto').value,'destino4' )"/>
<span id = "DivDestino"></span>
</td>
..........
........
Si además en ese formualrio se pincha y se escribe en los "input" se actualizan directamene los datos en la BD,( por eso pongo el evento "onchange", el que está en azul)


Ahora, vuelvo a plantear mi problema.
Cuando yo en el formulario que se muestran los datos, meto nuevos datos, estos SI que se actualizan en la BD, pero en el segundo select, los datos NO se actualizan.

Pongo un ejemplo:
el primer select está formado por nombre de personas. Si se pincha en una determinada persona, en el segundo select, va a aparecer los titulos de libros que ha escrito esa determinada persona seleccionada en el select 1. Entonces al seleccionar uno de los titulos del segundo select
aparece en el formualrio todos los datos relativos a ese titulo, como por ejemplo("titulo", autor, año.....)
Si yo ahora en ese formulario,modifico el titulo , entonces, si que me lo modifica en la BD el titulo, pero sin embargo en el segundo select me a parece el titulo antigüo. SOlo
se me modiifica el segundo select con los nuevo datos, cuando pincho en el primer select, para ver las opciones, y entonces si que es cuando
se ve que el segundo select se ha modificado.
Pero yo lo que quiero es ahorrarme el tener que dar el primer select, para modificar el segundo, sino que se haga directamente, al modificar los datos en el formulario, ( porque tal y como está ahora el segundo select solo se modifica al pulsar el primer select)
UN sadudo y gracias x adelantado
  #6 (permalink)  
Antiguo 11/03/2008, 12:17
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación Re: ¿Como refrescar select?

Hola. Alguien puede ayudarme?
Gracias
  #7 (permalink)  
Antiguo 11/03/2008, 12:47
Avatar de Holden  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 326
Antigüedad: 22 años, 3 meses
Puntos: 4
Re: ¿Como refrescar select?

CArol, por que no miras esto

Creo que es lo que buscas.
Saludos
__________________
Holden-@r
http://www.hvaldez.com.ar
  #8 (permalink)  
Antiguo 11/03/2008, 15:30
 
Fecha de Ingreso: septiembre-2007
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación Re: ¿Como refrescar select?

Hola: Gracias, pero eso ya lo leí en el foro, xq siempre antes de escrbir algo miro el foro, haber si encuentro alli la solución.
Los combos dependientes ya los tengo creado..... ese no es el problema......
  #9 (permalink)  
Antiguo 12/03/2008, 03:57
Avatar de Holden  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 326
Antigüedad: 22 años, 3 meses
Puntos: 4
Re: ¿Como refrescar select?

y que es lo que te falta?
__________________
Holden-@r
http://www.hvaldez.com.ar
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 06:58.