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 originalfunction calcular(j){
var td = j.parentNode;
var tr = td.parentNode;
var i = tr.parentNode.getAttribute("data-body"); //Con esto obtengo el valor del tbody? o obtengo el html tbody? Como puedo obtener el valor?
console.log(i);
var tableReg = document.getElementById('mitabla');
var var1=tableReg.tBodies[i].rows[0].cells[18].childNodes[0].value;
}
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 :)