Foros del Web » Programando para Internet » Javascript »

Como generar una tabla HTML al elegir disntintas opciones de select.

Estas en el tema de Como generar una tabla HTML al elegir disntintas opciones de select. en el foro de Javascript en Foros del Web. Buenas.. primero que nada, un saludo a todos los de esta comunidad... =) mi duda es lasiguiente.. como hago para que cuando yo cree dos ...
  #1 (permalink)  
Antiguo 01/12/2011, 06:28
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Como generar una tabla HTML al elegir disntintas opciones de select.

Buenas.. primero que nada, un saludo a todos los de esta comunidad... =) mi duda es lasiguiente.. como hago para que cuando yo cree dos select uno que sea paises.. y otro que sea otro parametro.. =) dependiendo de lso select se visualise una tabla en html debajo..

les digo por que lo quiero y asi tienen una mejor idea.. es que tengo una tabla de precios.. y los precios varian segun cantidad y pais.. entonces quisiera hacer dos select que agarren datos desde la base.. y luego dependiendo de los select me imprima una tabla por ejemplo: select paises: venezuela, argentina, chile , usa. select cantidad: 50 , 100 , 150 . elige argentina, y 50 y sale un tabla. luego si quiere ve rlos precios de 150 pues elige 150 y sale otra distinta.. como hago esto?

si me pueden ayudar, en el sentido que me digan bueno auqi pones las distintas tablas.. por que lo quiero hacer en ajax.. ya tengo los select dependientes en ajax! que agarran la informacion de la base de datos.. pero noc como imprimir codigo html debajo de dichos select dependiendo de los mismos.. =) ayudenmeee porfavor.. si quieres les coloco el codigo de los select =)
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #2 (permalink)  
Antiguo 01/12/2011, 07:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

usando la propiedad innerHTML de una capa div inferior, tal cual lo haces para los selects
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/12/2011, 07:37
Avatar de DrFaust  
Fecha de Ingreso: septiembre-2011
Ubicación: Buenos Aires
Mensajes: 308
Antigüedad: 12 años, 7 meses
Puntos: 87
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

Es innecesario hacerlo en AJAX. Te hago un ejemplo rápido.

Primero creás un array multidimensional en JavaScript con los países y las IDs de los productos. Este código lo generás con PHP utilizando bucles. Asumiendo que tenés dos países y tres productos con las IDs 11, 12 y 13:

Código Javascript:
Ver original
  1. var precio = new Array();
  2.  
  3. precio["Argentina"][11] = 10.5;
  4. precio["Argentina"][12] = 11;
  5. precio["Argentina"][13] = 12.5;
  6. precio["Brasil"][11] = 7;
  7. precio["Brasil"][12] = 8;
  8. precio["Brasil"][13] = 9;

El código PHP se vería más o menos así:

Código PHP:
Ver original
  1. echo "var precio = new Array();";
  2.  
  3. $sql = mysql_query("SELECT * FROM paises;");
  4.  
  5. while ($row = mysql_fetch_assoc($sql)) {
  6.  
  7.     $id_pais = $row["id"];
  8.     $pais = $row["pais"];
  9.  
  10.     $sql2 = mysql_query("SELECT * FROM productos WHERE id_pais = $id_pais");
  11.  
  12.     while ($row2 = mysql_fetch_assoc($sql2)) {
  13.  
  14.         $id_articulo = $row2["id"];
  15.         $precio = $row2["precio"];
  16.  
  17.         echo "precio['$pais'][$id_articulo] = $precio;";
  18.  
  19.     }
  20.  
  21. }

Luego creás el esqueleto de la tabla, de nuevo utilizando bucles PHP.

Código HTML:
Ver original
  1.     <tr>
  2.         <td id="nombre-11">Caja azul</td>
  3.         <td id="nombre-12">Caja verde</td>
  4.         <td id="nombre-13">Caja roja</td>
  5.     </tr>
  6.     <tr>
  7.         <td id="precio-11"></td>
  8.         <td id="precio-12"></td>
  9.         <td id="precio-13"></td>
  10.     </tr>

Por último armás el código que rellena la tabla. Para este ejemplo voy a usar jQuery:

Código Javascript:
Ver original
  1. $("#select-pais, #select-cantidad").change(function() {
  2.     var pais = $("#select-pais").val();
  3.     var cantidad = $("#select-cantidad").val();
  4.     rellenar(pais, cantidad);
  5. });
  6.  
  7. function rellenar(pais, cantidad) {
  8.     for (i in precio[pais]) {
  9.         $("#precio-" + i).html(precio[pais][i] * cantidad);
  10.     }
  11. }
__________________
Desarrollador web profesional

Última edición por DrFaust; 01/12/2011 a las 07:42
  #4 (permalink)  
Antiguo 01/12/2011, 10:30
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

guaoo que respuesta , pero tiene que ser con tanto codigo.. la verdad solo tengo armada la pagina html con una tabla unos diseños en css y listo entonces queria ponerle unso select arriba de la tabla pues.. mm si te paso el codigo de html como yo lo tengo.. me podrias decir, por q no entiendo la parte donde se rellena el precio.. :/ y los codigos javascript van en que pagina, o los pongo en urachivo aparte y los llamo.. :/ lo que pasa es que no se nada de javascript .. :/ u.u se un poco de php y de broma.. los archivos que dices que son javascript.. los coloco en la pagina php que hace las consultas? o como por que tambien esta una pagina html que es la de la tabla.. entonces noc como integrar todos los archivos que me dices que cree..

y pod: eres un genio! que manera de respuestaaaa la primera me habia dejado un poco perdido te imaginaras, aunq lo que cuenta es que me quieren ayudar..:) ya me habia puesto a leer sobre innerHTML n.n! asi que tambien gracias a el primero que comento..

drfaus.. me dices donde coloco todo eso asi como para dummies... y no importa si la estructura de mi tabla tiene div.. style y todo eso?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #5 (permalink)  
Antiguo 01/12/2011, 13:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

pues si no sabe nada de javascript es hora de aprenderlo, porque es fundamental para implementar AJAX.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 01/12/2011, 14:55
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

mm bueno amigo en eso ando.. voy aprendiendo poco a poco, con gente como ustedes que me van ayudando a entender.. aparte de q me voya meter en un curso.. =) pero mientras tyanto tengo que hacer la pagina y voya aprendiendo al paso.. todo lo que e aprendido a sido empiricamente.. pero ajax se escapa de mis manos.. :/ por eso solicito ayuda.
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #7 (permalink)  
Antiguo 02/12/2011, 13:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

bueno, todos pasamos por ello, está fuente no la puedes dejar pasar, sobretodo el manual de JS y AJAX: http://librosweb.es/, saludos y éxito.

mejores manuales y en español, imposible, también tienes la wiki del foro, busca el menú superior "aprende"
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #8 (permalink)  
Antiguo 03/12/2011, 09:26
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Como generar una tabla HTML al elegir disntintas opciones de select.

dale leere y leere.. jeje! gracias .. de todas maneras seguire buscando una solucion ya que me urge terminar esa parte.. :/ y necesito hacerlo.. :( si me pudieras tu explicar el codigo que dr faus puso arriba... =( realmente .. que me parece la solucion mas sencilla y practica pero no la entiendo ..u.u osea por la cantidad de archivos.. :/ esta e sla tabla que tengo hecha .. y que seria la que cambie cuando se imprima o .. como dice drfaus que solo se cambie la parte d elso precios.. peor yo preferiria la tabla ya que la imagen de metodo de pago tmb cambia..

y sean 3 select,: el de paises, el de moneda: son dos (dolar o moneda local) y el de cantidad (que siempre son 3 opciones 50 100 150.)

Entonces de tal forma que yo pueda poner parametros asi como que: "si el select es el pais id=12 y el tipo es 2 salga la tabla tal..)

o mejor aun la tabla siempre se vea igual pero los precios y formas de pago sean variables... esas variables son las que cambian con los select.. y mientras no este nada seleccionado no se vea nada pues.

alguna idea haci rapida.. pero eso tiene que ser asincronico por que si lo hago en php tendria que ponerle un boton sumit pero el punto es que quiero q sea asincronico.. =( como yo habia puesto arriba con los select dependientes con el parametro innerhtml ... como em habias dicho antes... como lo haria mi ejemplo de select multiples es este:

http://www.formatoweb.com.ar/ajax/se..._3_niveles.php

pero quiero que cuando los eliga depende de la opcion se cambie los precios, y formas de pago que son imagenes por ejemplo cuando son depositos bancarios yo pongo una imagen de cada banco. y eso pueden ser variables que son impresas por echo en una tabla que siempre tiene la misma estructura y estilos.. =) pero esas variables no se como hacer para establecerlas en php o el ajax innerhtml .. o como? si me entiendes ando un poco super perdido.. =(
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Última edición por JoseGMariani; 03/12/2011 a las 10:20 Razón: problemas con la barra espaciadora de mi pc =)

Etiquetas: ajax, elegir, html, opciones, tabla
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 17:36.