Foros del Web » Programando para Internet » Javascript »

Obtener el número de tbody en una tabla

Estas en el tema de Obtener el número de tbody en una tabla en el foro de Javascript en Foros del Web. Hola, tengo una tabla con varios body. Algo similar a lo siguiente: Código PHP: < tbody > < tr > < td >< img onclick = ...
  #1 (permalink)  
Antiguo 14/12/2014, 17:16
 
Fecha de Ingreso: octubre-2011
Mensajes: 206
Antigüedad: 13 años
Puntos: 1
Obtener el número de tbody en una tabla

Hola,

tengo una tabla con varios body. Algo similar a lo siguiente:

Código PHP:
<tbody>
<
tr>
<
td><img onclick="funcion(this)"/></td>
<
td><input /></td>
<
td><input /></td>
</
tr>
<
tbody>

<
tbody>
<
tr>
<
td><img onclick="calcular(this)"/></td>
<
td><input /></td>
<
td><input /></td>
</
tr>
<
tbody
y esta sería la funcion:

Código PHP:
function calcular(j){
var 
td j.parentNode;
var 
tr td.parentNode;
var 
i=tr.parentNode;  //Con esto obtengo el valor del tbody? o obtengo el html tbody? Como puedo obtener el valor?

var tableReg document.getElementById('mitabla');
 var 
var1=tableReg.tBodies[i].rows[0].cells[18].childNodes[0].value;

Da el siguiente error undefinied tBodies[i]
  #2 (permalink)  
Antiguo 15/12/2014, 00:47
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
Respuesta: Obtener el número de tbody en una tabla

Hola:

Es normal el error porque no referencia un índice sino una etiqueta tbody...

Si buscas el índice, deberías hacer un bucle con los tbody y si coincide con el que estás referenciando puedes obtener ese índice.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 15/12/2014, 08:38
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: Obtener el número de tbody en una tabla

Podrías agregar un data-attribute a cada tbody con el index correspondiente:

Código HTML:
 <tbody data-body="0">
            <tr>
                <td><img onclick="calcular(this)" /></td>
                <td><input /></td>
                <td><input /></td>
            </tr>
        <tbody>
        <tbody data-body="1">
            <tr>
                <td><img onclick="calcular(this)" /></td>
                <td><input /></td>
                <td><input /></td>
            </tr>
        <tbody> 
        <tbody data-body="2">
            <tr>
                <td><img onclick="calcular(this)" /></td>
                <td><input /></td>
                <td><input /></td>
            </tr>
        <tbody> 
Y luego recuperarlo de la siguiente manera:

Código Javascript:
Ver original
  1. function calcular(j){
  2.             var td = j.parentNode;
  3.             var tr = td.parentNode;
  4.             var i  = tr.parentNode.getAttribute("data-body");  //Con esto obtengo el valor del tbody? o obtengo el html tbody? Como puedo obtener el valor?
  5.  
  6.             console.log(i);
  7.  
  8.             var tableReg = document.getElementById('mitabla');
  9.             var var1=tableReg.tBodies[i].rows[0].cells[18].childNodes[0].value;
  10.         }

Por supuesto hay formas dinámicas de hacerlo como bien mencionó caricatos. Pero si son un par de tbody, de esta manera podés resolverlo rápidamente y sin esfuerzo.

Saludos :)

Etiquetas: funcion, html, input, tabla, tbody, valor
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 19:12.