¿Cómo seleccionar una columna en especifico de toda la tabla con jquery? #eq

Algunas veces, por comodidad, o por que no queda de otra, se nos ocurre realizar alguna operación con todas las celdas de una columna de una tabla de jquery, es decir, poder seleccionar la primer columna y todas sus celdas, o la segunda columna etc, y a estos elementos realizar una acción. Para ello pongo el siguiente ejemplo:

Teniendo la siguiente tabla:

<table id="miTabla">
	<tr>
		<td>pato</td>
		<td>12</td>
	</tr>
	<tr>
		<td>pato</td>
		<td>1</td>
	</tr>
	<tr>
		<td>pato</td>
		<td>15</td>
	</tr>
	<tr>
		<td>pato</td>
		<td>16</td>
	</tr>
<table>

Supongamos que deseamos realizar una sumatoria de los valores de la segunda columna, para ello la clave esta en el selector junto al filtro eq, y se puede hacer de la siguiente manera:

var total=0;

//selector &gt;&gt;  $("#GridView1 tr").find('td:eq(1)')
//De esta manera utilizando eq seleccionamos la segunda fila, ya que la primera es 0
$("#miTabla tr").find('td:eq(1)').each(function () {

 //obtenemos el valor de la celda
  valor = $(this).html();

 //sumamos, recordar parsear, si no se concatenara.
 total += parseInt(valor)
})

//mostramos el total
alert(total)

Así de sencillo seleccionamos una columna en especifico.

Nota: eq sirve para seleccionar un indice de los elementos seleccionados, como en un arreglo los corchetes []

mm

About

Desarrollador de software, lector compulsivo.

View all posts by

7 thoughts on “¿Cómo seleccionar una columna en especifico de toda la tabla con jquery? #eq

  1. Hola, muy didáctico el ejemplo, se agradece especialmente para los novatos como yo. Quisiera consultar como se puede leer una celda especifica de la tabla, en base a ubicar como referencia una celda contigua. Me explico : supongamos que todos los nombres de la primera columna son distintos, entonces recorro la tabla buscando uno de los nombres (obtenido de cualquier consulta) y cuando lo encuentro quisiera obtener el valor que esta en la segunda columna, al lado del nombre encontrado

    1. Que tal, me alegro que te sirvan, si deseas buscar un valor dentro de un input puedes hacerlo de la siguiente manera.

      Si deseas buscar un valor en la segunda caja de texto y dentro tienes inputs los cuales tienen valores varios y tu solo deseas el que tiene el valor=500 puedes hacerlo así:

      $(“#miTabla tr”).find(‘”td:eq(1) input[value=’500’]”).each(function () {

      //obtenemos el valor de la celda
      valor = $(this).html();

      //sumamos, recordar parsear, si no se concatenara.
      total += parseInt(valor)
      })

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *