Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

545
Vistas
Jquery seleccionando filas de tabla con casilla de verificación

tengo una mesa como

 <table id="rowclick2"> <tbody> <tr > <td class="cb"><input type="checkbox" value="yes"></td> <td>row 1</td> <td>A</td> </tr> <tr > <td class="cb"><input type="checkbox" value="yes" ></td> <td>row 2</td> <td>B</td> </tr> <tr> <td class="cb"><input type="checkbox" value="yes"></td> <td>row 3</td> <td>C</td> </tr> </tbody> </table>

donde quiero obtener cada celda (cuando se hace clic en el botón) en una fila cuyas casillas de verificación están marcadas

probé filtrar

 $('#test').click(function(){ $('#rowclick2 tr').filter(':has(:checkbox:checked)').each( //get row values ); });

Es bastante simple pero no puedo ver lo que me estoy perdiendo...

Aquí está el enlace jsfiddle ...

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Ya casi estás ahí :)

Si desea todos los <td> s en filas donde la casilla de verificación está marcada:

 $('#rowclick2 tr').filter(':has(:checkbox:checked)').find('td');

Por ejemplo :

 $('#rowclick2 tr').filter(':has(:checkbox:checked)').find('td').each(function() { // this = td element });

Un ejemplo más elaborado está en JsFiddle.

POR CIERTO
El .filter(':has(:checkbox:checked)') se puede escribir como .has(':checkbox:checked') si usted, como yo, lo encuentra más fácil de leer.

over 4 years ago · Santiago Trujillo Denunciar

0

Puedes probar este código:

 $('#test').click(function(){ $('td.cb:checked').parents('tr').each( //get row values ); }

HTH!

over 4 years ago · Santiago Trujillo Denunciar

0

// select row and check box function condition $('#file_module_mainTableId').on('click', 'tbody tr', function(e){ //e.preventDefault(); var $this = $(this); // Detecting ctrl (windows) / meta (mac) key. if (e.ctrlKey || e.metaKey) { if($this.hasClass('ui-selected')){ $this.removeClass('ui-selected'); $this.find('input[type=checkbox]').removeAttr('checked'); if (e.target.type !== 'checkbox') { $(':checkbox', this).trigger('click'); } }else{ $this.addClass('ui-selected') $this.find('input[type=checkbox]').attr('checked', 'checked'); } } // Detecting shift key else if (e.shiftKey) { // Get the first possible element that is selected. var currentSelectedIndex = $('#file_module_mainTableId tbody tr.ui-selected').eq(0).index(); // Get the shift+click element var selectedElementIndex = $('#file_module_mainTableId tbody tr').index($this); // Mark selected between them if (currentSelectedIndex < selectedElementIndex) { for (var indexOfRows = currentSelectedIndex; indexOfRows <= selectedElementIndex; indexOfRows++) { $('#file_module_mainTableId tbody tr').eq(indexOfRows).addClass('ui-selected'); $('#file_module_mainTableId tbody tr').eq(indexOfRows).find('input[type=checkbox]').attr('checked', 'checked'); } } else { for (var indexOfRows = selectedElementIndex; indexOfRows <= currentSelectedIndex; indexOfRows++) { $('#file_module_mainTableId tbody tr').eq(indexOfRows).addClass('ui-selected'); $('#file_module_mainTableId tbody tr').eq(indexOfRows).find('input[type=checkbox]').attr('checked', 'checked'); } } } else { if (e.target.type !== 'checkbox') { $(':checkbox', this).trigger('click'); } } }); // checkbox class section $(".chkbox").change(function(e){ if ($(this).is(":checked")){ $(this).closest('tr').addClass("ui-selected"); } else { $(this).closest('tr').removeClass("ui-selected"); } }); // clrt + A select all table row $(document).on('keydown', function(e){ if(!$('body').hasClass('.modal-open')){ // use this condition for modal - deprecated here if(e.metaKey || e.ctrlKey && e.keyCode == 65){ $('#file_module_mainTableId tbody tr').addClass('ui-selected'); $('#file_module_mainTableId tbody tr').find('input[type=checkbox]').attr('checked', 'checked'); e.preventDefault(); return false; } } });
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda