Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/07/2015, 22:46
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: llenar input con informacion de una tabla

Para casos como este, tienes dos opciones: O tomas a los datos que se muestran actualmente en las celdas de la fila del botón pulsado o solo envías el código identificador de dicha fila y en la ventana modal realizas una búsqueda en la base de datos la cual te devolverá los datos que le correspondan.

La primera sería más o menos así:

Código HTML:
Ver original
  1.     <thead>
  2.         <tr>
  3.             <td>Código</td>
  4.             <td>Nombre</td>
  5.             <td>Apellido</td>
  6.             <td>Edad</td>
  7.             <td>Opciones</td>
  8.         </tr>
  9.     </thead>
  10.     <tbody>
  11.         <tr>
  12.             <td>0031405</td>
  13.             <td>Juan</td>
  14.             <td>Padilla</td>
  15.             <td>48</td>
  16.             <td>
  17.                 <button onclick = "abrirVentanaModal(this.parentNode.parentNode)">Ver</button>
  18.                 <button onclick = "Tu función para editar">Editar</button>
  19.                 <button onclick = "Tu función para eliminar">Eliminar</button>
  20.             </td>
  21.         </tr>
  22.     </tbody>

Código Javascript:
Ver original
  1. function abrirVentanaModal(fila){
  2.     var codigo = fila.childNodes[1].innerHTML,
  3.         nombre = fila.childNodes[3].innerHTML,
  4.         apellido = fila.childNodes[5].innerHTML,
  5.         edad = fila.childNodes[7].innerHTML;
  6.  
  7.     //Se mostrará en consola: 0031405 Juan Padilla 48
  8.     console.log(codigo, nombre, apellido, edad);
  9.  
  10.     /* Acá abrirás la ventana modal y utilizarás los datos almacenados en las variables */
  11. }

Mediante la propiedad parentNode, obtengo al elemento que contiene al que se indique, que en este caso es el botón representado por la palabra reservada this. Inicialmente, tomo a la celda pues es el elemento contenedor del botón, pero como deseo obtener los valores de las otras celdas de la fila, obtengo al elemento que contiene a la celda, que es la fila, y así obtengo a los nodos hijos de esta que son las celdas, usando la propiedad childNodes. Al igual que en los arrays, puedo acceder a sus elementos mediante índices, los cuales empiezan con el cero hasta la cantidad total de elementos menos uno.

Como hay saltos de línea entre cada celda, se generan nodos de texto que no vemos pues no poseen contenido, pero que cuentan como nodos hijos de la fila, entonces, la lista de nodos hijos de la fila queda así:

Código HTML:
Ver original
  1. text
  2. td       --->   Celda del código
  3. text
  4. td       --->   Celda del nombre
  5. text
  6. td       --->   Celda del apellido
  7. text
  8. td       --->   Celda de la edad
  9. text
  10. td       --->   Celda de los botones
  11. text

Por los tanto, los índices de las celdas son 1, 3, 5, 7 y 9, por lo que con los cuatro primeros podré acceder a las celdas con la información, la cual guardo en variables que puedes usar para llenar los campos de la ventana modal que mencionas.

La otra forma es realizar una búsqueda en la base de datos, algo que deduzco que sabes hacer para haber llegado hasta este punto.

Trata de adaptar esto a lo que necesitas.

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