Foros del Web » Programando para Internet » Javascript »

Consulta de como autogenerar mi tabla por un listado

Estas en el tema de Consulta de como autogenerar mi tabla por un listado en el foro de Javascript en Foros del Web. Hola a todos, tengo una consulta, tengo un tabla con un par de textboxs, que quiero que se autogenere por un script (es por medio ...
  #1 (permalink)  
Antiguo 19/11/2012, 18:51
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Pregunta Consulta de como autogenerar mi tabla por un listado

Hola a todos, tengo una consulta, tengo un tabla con un par de textboxs, que quiero que se autogenere por un script (es por medio de un for), para que se repita esa tabla las veces que yo decida, alguien me puede ayudar en esta tarea.
  #2 (permalink)  
Antiguo 20/11/2012, 04:09
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Consulta de como autogenerar mi tabla por un listado

Ummm, hace mucho que no hago algo así, a ver si te sé responder bien:

Todo lo que te explico aquí irá dentro de tu bucle recorriendo la consulta. Esto va de crear dinámicamente tu tabla en JS. Para ello se usan las funciones .createElement() y .appendChildren()

Debes crear todos los elementos dela siguietne forma:
tabla = document.createElement('tabla');

Y debes rellenarlo con aquello que creas conveniente:
tabla.type = "table";
tabla.name = ...
tabla.class = ...


Creas así todos los elementos, y además en los input.text cargas lo que quieras:
text1.value = result.getString("patapumchimpum");


Así con todos los elementos de tu tabla. Para emparentar uno a otro, así:
tabla.appendChildren(fila);

Por último, necesitas tener un div en tu html para finalmente emparentar cada tabla a él.
div = document.getElementById("divtablas"); // ESTA DECLARACIÓN FUERA DEL BUCLE
div.appendChildren(tabla)
  #3 (permalink)  
Antiguo 20/11/2012, 04:59
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: Consulta de como autogenerar mi tabla por un listado

Genial amigo, no tendras algun ejemplo que conoscas ...
  #4 (permalink)  
Antiguo 20/11/2012, 05:40
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Consulta de como autogenerar mi tabla por un listado

No debería ser necesario, ahí ya tienes todo lo que necesitas, pero mira, hoy me han hecho aquí un buen favor y quiero devolverlo, así que he organizado el código de antes para que lo entiendas en tu propio código:


Código:
div = document.getElementById("divtablas");
cont = 1;

for ($row = mysql_fetch_array($tuConsulta) { 
	tabla = document.createElement('tabla'+cont);	
	tabla.type = "table";
	tabla. ... //class, style, id, etc.
	
	fila =document.createElement();
	fila.type ="tr";

	col1 = document.createElement();
	col1.type ="td";
	fila.appendChildren(col1);

	col2 = docum....

	tabla.appendChildren(fila);

	textarea1=document.createElement();
	textarea1.type ="textarea";
	textarea1.value = $row['campo1'];
	col1.appendChildren(textarea1);

	textarea2=document.createElement();
	textarea2.type ="textarea";
	textarea2.value = $row['campo2'];
	col2.appendCh....
	
	div.appendChildren(tabla)
}
Seguro que lo escrito no está exento de errores, pero la idea es que lo entiendas, no que te lo haga :D
  #5 (permalink)  
Antiguo 20/11/2012, 19:02
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: Consulta de como autogenerar mi tabla por un listado

Hola he leido que tambien utilizando jquery para agregar la fila de una manera mas rapida y con menos codigo con el metodo append .
  #6 (permalink)  
Antiguo 21/11/2012, 02:38
Avatar de rosonator  
Fecha de Ingreso: noviembre-2012
Ubicación: Bilbao
Mensajes: 49
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Consulta de como autogenerar mi tabla por un listado

Mi recomendación es que para cosas sencillas te ahorres el jquery, la solución la tienes ya ahí.

De todas formas he comprobado mis códigos y he cometido un error de bulto, y es que el "type" se usar para definir el tipo en inputs, pero yo ahí he puesto el tag, que se define en el propio createElement(), de manera que para hacer una tabla sería sin más así:

var miTabla = document.createElement("table");

Es lo que tiene escribir cosas de cabeza :D

Etiquetas: listado, 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:47.