Foros del Web » Programando para Internet » Jquery »

generar tabla con jquery

Estas en el tema de generar tabla con jquery en el foro de Jquery en Foros del Web. Estimados: Espero alguien pueda ayudarme con este dilema. Soy novato, por este mismo motivo he buscado desde hace días en la web y sólo obtengo ...
  #1 (permalink)  
Antiguo 09/11/2010, 17:00
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta generar tabla con jquery

Estimados: Espero alguien pueda ayudarme con este dilema. Soy novato, por este mismo motivo he buscado desde hace días en la web y sólo obtengo respuestas de como implementar plug-in, y lo que necesito es simplemente generar una tabla con jquery.
Intento hacer:
  • Una lista de alumnos
Mi problema es el siguiente: estoy obteniendo datos desde un archivo de acción.php mediante Json y con estos datos pretendo generar una tabla con sus respectivas filas, según sean los datos obtenidos o listados obviamente; y crear la tabla dentro de una capa DIV (vacía) identificada como #lista_alumnos.
el código es el siguiente:

Código Javascript:
Ver original
  1. function mostrar_alumno(id_alumno){
  2.                
  3.                 $.ajax({
  4.                         type: 'POST',
  5.                         url: "accion_carga_alumno.php",
  6.                         dataType: "json",
  7.                         data: {idpac: id_alumno},
  8.                         success: function(data){   
  9.  
  10.                             $("#lista_alumnos").append('<table cellpadding="0" cellspacing="0" border="1" class="display" id="lista_paciente">');
  11.                             $("#lista_alumnos").append("<caption>Mi Tabla</caption>");
  12.                             $("#lista_alumnos").append("<thead>");
  13.                                 $("#lista_alumnos").append("<tr>");                        
  14.                                     $("#lista_alumnos").append("<th>Nombre</th>");
  15.                                     $("#lista_alumnos").append("<th>Apellido</th>");
  16.                                     $("#lista_alumnos").append("<th>Sexo</th>");
  17.                                     $("#lista_alumnos").append("<th>Fecha</th>");
  18.  
  19.                                 $("#lista_alumnos").append("</tr>");
  20.                             $("#lista_alumnos").append("</thead>");
  21.                             $("#lista_alumnos").append("<tbody>");
  22.  
  23.             $.each(data.filas,function(i,fila){
  24.                                
  25.                             $("#lista_alumnos").append("<tr>");
  26.                                     $("#lista_alumnos").append("<td>"+fila.nombre+"</td>");
  27.                                     $("#lista_alumnos").append("<td>"+fila.apellido+"</td>");
  28.                                     $("#lista_alumnos").append("<td>"+fila.sexo+"</td>");
  29.                                     $("#lista_alumnos").append("<td>"+fila.fecha+"</td>");
  30.                                
  31.                                    
  32.                             $("#lista_alumnos").append("</tr>");
  33.                         });
  34.  
  35.                             $("#lista_alumnos").append("</tbody>");
  36.                             $("#lista_alumnos").append("</table>");
  37.  
  38.             }              
  39.         });

Bueno, parece que no quiere funcionar, de hecho el inspector de elementos del chrome me dice que está mal cerrada la tabla.

Antes de formular la pregunta vale destacar que con el resultado de la obtención de la tabla quiero utilizar el plug-in de datatables.net.

La Pregunta es:
¿está bien utilizado el bucle? ¿Cómo o de qué manera se genera un bucle con la lista de resultados en cada <td> necesarios para crear una tabla automáticamente?
si lo tendría que hacer en php lo haría con este código:
Código PHP:
<?php
while($fila=mysql_fetch_array($articulos)){
?>
Desde ya muchas muchas, muchas gracias.
  #2 (permalink)  
Antiguo 10/11/2010, 00:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/11/2010, 17:42
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 14 años, 11 meses
Puntos: 65
Respuesta: generar tabla con jquery

append te va agregando al final


cuando agregas

$("#lista_alumnos").append('<table cellpadding="0" cellspacing="0" border="1" class="display" id="lista_paciente">');

te crea con cierre
<table></table>
despues le decis que agregue caption, thead, despues tr etc

los tr te los va agregando fuera de la tabla, lo mismo que los td fuera de los tr

los td los tener que agregar al tr, el tr al tbody, el tbody a la tabla, etc

pero es mejor crear una cadena y agregarlo al div, aparte de que es más legible

Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplon</title>
  3.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  4.     </head>
  5.         <script type="text/javascript">
  6.         $( function (){
  7.  
  8.             var tabla = '<table cellpadding="0" cellspacing="0" border="1" class="display" id="lista_paciente">';
  9.                 tabla += '<caption>Mi Tabla</caption>';
  10.                 tabla += '<thead>';
  11.                 tabla += '<tr>';
  12.                 tabla += '<th>Nombre</th><th>Apellido</th><th>Sexo</th><th>Sexo</th>';
  13.                 tabla += '</tr>';
  14.                 tabla += '</thead>';
  15.                 tabla += '<tbody>';
  16.                 tr = '';
  17.  
  18.                 for (i = 0; i < 5; i++){
  19.                    tr += '<tr>';
  20.                     tr += '<td>'+i+'</td><td>ee</td><td>ii</td><td>oo</td>';
  21.                     tr += '</tr>';
  22.                 }
  23.  
  24.                 tabla += tr;
  25.                 tabla += '</tbody></table>';
  26.  
  27.                 $('#lista_alumnos').html( tabla );
  28.             });
  29.  
  30.         </script>
  31.     <style>
  32.     </style>
  33.     <body>
  34.  
  35.         <div id="lista_alumnos"></div>
  36.  
  37.     </body>
  38. </html>
  #4 (permalink)  
Antiguo 11/11/2010, 17:56
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: generar tabla con jquery

Dany_s quiero agradecerte por tu buena predisposición y voluntad para responder y compartir tus conocimientos, espero que este post le pueda servir a otros que tengan el mismo problema que yo.
Muchas Gracias !!!

Etiquetas: tablas
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:58.