Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] mostrar un segundo formulario con js

Estas en el tema de mostrar un segundo formulario con js en el foro de Jquery en Foros del Web. Hola gente, soy nuevo por aquí. Mi nombre es Alexis. Tengo un formulario select que al cambiar de opción realiza una consulta a una bd ...
  #1 (permalink)  
Antiguo 22/03/2015, 22:00
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
mostrar un segundo formulario con js

Hola gente, soy nuevo por aquí. Mi nombre es Alexis.

Tengo un formulario select que al cambiar de opción realiza una consulta a una bd
usando jquery y ajax. Recibo un json en el cuerpo del código jquery y quiero formar
un nuevo formulario con esos datos recibidos.
Pongo un ejemplo:
Tengo un select de continentes y al seleccionar Europa recibo un json con diferentes países de Europa, ¿Cómo logro que esos países se muestren a su vez
en el cuerpo de un nuevo formulario select para desplegar, seleccionando por ejemplo Francia, las ciudades de ese país?

Si alguien me puede dar una idea o algún link que hable del tema les agradezco.
  #2 (permalink)  
Antiguo 22/03/2015, 22:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: mostrar un segundo formulario con js

Bienvenido a FDW, tocayo.

¿Podrías mostrarnos lo que has avanzado del código? No olvides utilizar el highlight respectivo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 23/03/2015, 11:49
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: mostrar un segundo formulario con js

Bueno, lo que llevo hecho es lo siguiente:

Código HTML:
Ver original
  1. <!--codigo para crear el select de Continentes-->
  2.  
  3. <!--aquí coloco el script jquery que detallo más abajo-->
  4. </html>

El evento que elegí para que se muestren los países del contiente seleccionado es simplemente clickear
el boton de uno de ellos. Voy a modificar mi ejemplo puesto al principio diciendo que lo único que necesito
es mostrar estos países a modo de select en una "capa 1" y que al seleccionar uno me muestre su población
en una "capa 2".
El json que recibo en la consulta al script php (que se conecta a la base de datos) viene de codificar un array
indizado de arrays asociativos, es decir: $paises[$i] = array('nombre'=> "pais1", 'población' => 'x').

Accediendo al json los puedo mostrar a todos perfectamente en esa "capa 1" a modo de lista pero lo que necesito es
hacer de esos países un select y mostrar en una "capa 2" la población de la opción que se elija.

Mi consulta al script php es:

Código Javascript:
Ver original
  1. function enviarConsulta() {
  2.                    
  3.                     $.ajax({
  4.                     type: "GET",
  5.                     dataType: 'json',
  6.                     url: "http://localhost/paises.php",
  7.                     data: {cont: $('input:radio[name=continentes]:checked').val()},
  8.                     success: function(data)
  9.  
  10.                                      {//aquí es donde no se cómo seguir }
  #4 (permalink)  
Antiguo 23/03/2015, 14:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: mostrar un segundo formulario con js

Crea un nuevo <select> de esta forma y asígnale una función para cuando cambie su valor (cuando se elija una opción):

Código Javascript:
Ver original
  1. var select = document.createElement("select");
  2. select.onchange = function(){
  3.     //Muestro el valor seleccionado del <select> en la capa 2
  4.     document.querySelector("#id de la capa 2").innerHTML = this.value;
  5. };

Luego, como recibes un array, recórrelo con un bucle y, en cada iteración, crea una opción:

Código Javascript:
Ver original
  1. var option = document.createElement("option");

Añádele el nombre del país como texto, la población como valor y la adhiérela al <select>:

Código Javascript:
Ver original
  1. option.text = nombre del país;
  2. option.value = la población;
  3. select.appendChild(option);

Al finalizar el bucle, adhiere ese nuevo <select> a la capa 1:

Código Javascript:
Ver original
  1. document.querySelector("#id de la capa 1").appendChild(select);

Eso es todo. Cuando elijas una opción, su valor se mostrará en la capa 2.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax, formulario, javascript, php
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:06.