Foros del Web » Programando para Internet » Javascript »

Agrandar casilla de una tabla

Estas en el tema de Agrandar casilla de una tabla en el foro de Javascript en Foros del Web. En primer lugar.. desconozco si lo que quiero hacer se tiene que hacer con javascript o se puede hacer solo con php, pero creo que ...
  #1 (permalink)  
Antiguo 15/11/2011, 15:26
 
Fecha de Ingreso: octubre-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Agrandar casilla de una tabla

En primer lugar.. desconozco si lo que quiero hacer se tiene que hacer con javascript o se puede hacer solo con php, pero creo que es javascript..

Tengo una tabla de una sola columna pero con varias filas.. unas 20. Lo que quiero es que al pinchar en una de ellas se "cree" otra fila mas abajo con otros datos que hagan referencia a la casilla pinchada, tambien me gustaria que tuviese otro estilo

Ejemplo:

--------------------------------
MANOLO
--------------------------------
LUIS
--------------------------------
ALFONSO
--------------------------------
MARIA
--------------------------------

Despues de pinchar en un nombre, en este caso ALFONSO:

--------------------------------
MANOLO
--------------------------------
LUIS
--------------------------------
ALFONSO
-----------------------------------------------------------------
Alonso Garcia, Alfonso
22 años
España
-----------------------------------------------------------------
MARIA
--------------------------------
  #2 (permalink)  
Antiguo 15/11/2011, 16:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Agrandar casilla de una tabla

Justamente estoy desarrollando algo así con jQuery, es algo sencillo, primero obtienes el <tr> donde estas posicionado e insertas otra fila abajo y con un request en AJAX muestras los datos:
Código PHP:
Ver original
  1. tr.after('<tr id="detailsTr"><td colspan="8"><div id="detailsArea" style="display: none;">foo</div></td></tr>');

Puedes pulsar toda la fila o poner un link en la fila que lo usas como trigger, el punto es obtener la fila para insertar después la otra fila con los datos.

Saludos.
  #3 (permalink)  
Antiguo 15/11/2011, 17:45
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Agrandar casilla de una tabla

también se puede hacer con puro javascript. sólo hay que emular insertAfter y usando ajax como te indica GatorV
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 15/11/2011, 23:00
 
Fecha de Ingreso: noviembre-2010
Mensajes: 95
Antigüedad: 14 años
Puntos: 5
Respuesta: Agrandar casilla de una tabla

Podrias probar con

Código Javascript:
Ver original
  1. var nodo = document.createElement("p");
  2. var contenido = document.createTextNode("Nombre");
  3. nodo.appendChild(contenido);
  #5 (permalink)  
Antiguo 17/11/2011, 11:19
 
Fecha de Ingreso: octubre-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Agrandar casilla de una tabla

Gracias.. ya logrue hacerlo, pero queda muy feo.. hay alguna forma para que la celda parezca que crezca y no aparezca??

En plan:

for (i = 0; i<=3;i++) //segundos
altura=altura+5px
  #6 (permalink)  
Antiguo 17/11/2011, 15:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Agrandar casilla de una tabla

Si usas jQuery puedes obtener el id del <div> interno y usar show(300) para que aparezca de forma animada.

Saludos.
  #7 (permalink)  
Antiguo 22/11/2011, 15:45
 
Fecha de Ingreso: octubre-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Agrandar casilla de una tabla

Perdonad que reabra el tema.. pero tengo un problema, me crea la tabla y ya se modificarla y todo eso pero me ocurre algo "extraño". El codigo que estoy usando lo encontre por internet porque me parecia mas facil...


Código Javascript:
Ver original
  1. function MostrarCaja(num) {
  2. var raiz = document.getElementsByClassName("casilla") [num];
  3.  
  4. // creates a <table> element and a <tbody> element
  5. var tbl     = document.createElement("table");
  6. var tblBody = document.createElement("tbody");
  7.  
  8. // creating all cells
  9. for (var j = 1; j < 5; j++) {
  10.         // creates a table row
  11.         var row = document.createElement("tr");
  12.  
  13.         for (var i = 1; i < 3; i++) {
  14.                 // Create a <td> element and a text node, make the text
  15.                 // node the contents of the <td>, and put the <td> at
  16.                 // the end of the table row
  17.                 var cell = document.createElement("td");
  18.                 var cellText = document.createTextNode("cell");
  19.                
  20.                 cell.appendChild(cellText);
  21.                 row.appendChild(cell);
  22.         }
  23.  
  24.         // add the row to the end of the table body
  25.         tblBody.appendChild(row);
  26. }
  27. // put the <tbody> in the <table>
  28. tbl.appendChild(tblBody);
  29. // appends <table> into <body>
  30. raiz.appendChild(tbl);
  31. // sets the border attribute of tbl to 2;
  32. tbl.setAttribute("border", "1");
  33. tbl.setAttribute("width", "500");
  34. }

Este es el codigo php que genera la clase "casilla"

Código PHP:
Ver original
  1. echo '<table width="100%" border="0" cellpadding="0" cellspacing="0" class="casilla" >';
  2. echo '  <tr>';
  3. echo '    <td width="05%" onclick="MostrarCaja(' .$NumeroFila .')">Nombre</td>';
  4. echo '    <td width="75%" onclick="MostrarCaja(' .$NumeroFila .')">Maria</td>';
  5. echo '  </tr>';
  6. echo '</table>';


Y aqui el resultado del antes y despues del click

ANTES:


DESPUES:




Se nota que al crear la tabla la celda donde pone "maria" se desplaza hasta el ancho de la tabla que creo..
  #8 (permalink)  
Antiguo 22/11/2011, 17:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Agrandar casilla de una tabla

Pues es "normal" yo creo, estas agregando una tabla en una celda, tendrías que darle a esa celda un "rowspan" para que haga el span en las demás tablas.

Saludos.
  #9 (permalink)  
Antiguo 22/11/2011, 17:52
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: Agrandar casilla de una tabla

has probado la función getElementsByClassName() en ie??. lee esto
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #10 (permalink)  
Antiguo 23/11/2011, 09:25
 
Fecha de Ingreso: octubre-2011
Mensajes: 45
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Agrandar casilla de una tabla

Cita:
Iniciado por GatorV Ver Mensaje
Pues es "normal" yo creo, estas agregando una tabla en una celda, tendrías que darle a esa celda un "rowspan" para que haga el span en las demás tablas.

Saludos.
Y como puedo hacer para que no me lo agrege a la celda? sino que me lo agrege justo donde deberia dar comienzo la primer celda siguiente??

Lo del rowspan lo he dejado asi pero no cambia nada...

Código PHP:
Ver original
  1. echo '    <td width="05%" onclick="MostrarCaja(' .$NumeroFila .')" rowspan="2">Nombre</td>';

Etiquetas: agrandar, casilla, php, 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 02:15.