Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Eliminar elemento padre al pulsar checkbox

Estas en el tema de Eliminar elemento padre al pulsar checkbox en el foro de Javascript en Foros del Web. Tengo estos checkbox dentro de un tr: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < input type = 'checkbox' name = '5664' id = 'clacli' class ...
  #1 (permalink)  
Antiguo 31/01/2013, 10:59
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 7 meses
Puntos: 58
Eliminar elemento padre al pulsar checkbox

Tengo estos checkbox dentro de un tr:
Código HTML:
Ver original
  1. <input type='checkbox' name='5664' id='clacli' class='eliminar' />

Lo que quería es que se eliminara todo el TR al marcar el checkbox.

Vi esta función con jQuery aquí mismo pero no logro que funcione:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         $(document).ready(function() {
  3.             $(".eliminar").click(function () {
  4.                 $('.check:checked').parent().remove();
  5.             });
  6.         });
  7.     </script>

Nótese que se muy poco de JS.

Gracias

Creo que lo he arreglado pero me ha quedado bastante feo.

Como el elemento está dentro de un label, dentro de un td y tal tuve que poner así:
Código Javascript:
Ver original
  1. $('.eliminar:checked').parent().parent().parent().remove();

¿Puedo decirle que elimine el tr inmediatamente superior y evitar todos los parent anidados?
Y si hay forma de eliminarlos nada mas pulsar en el checkbox en lugar de tener que pulsar un boton mejor.

Última edición por alyciashape; 31/01/2013 a las 11:13
  #2 (permalink)  
Antiguo 31/01/2013, 11:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Eliminar elemento padre al pulsar checkbox

Usa closest():
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.             $(".eliminar").click(function () {
  3.                 if (this.checked) {
  4.                     $(this).closest("tr").remove();
  5.                 }
  6.             });
  7.         });
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 31/01/2013, 11:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Eliminar elemento padre al pulsar checkbox

otra forma

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
  7. <script type="text/javascript">
  8. $(document).ready(function() {
  9.     $(".eliminar").click(function () {
  10.     var indice = $(".eliminar").index(this);
  11.     $($('#mitabla tr')[indice]).remove();
  12.     });
  13. });
  14. </head>
  15. <table border="1" id="mitabla">
  16. <tr><td>fila 1 <input type='checkbox' name='5664' id='clacli' class='eliminar' /></td></tr>
  17. <tr><td>fila 2 <input type='checkbox' name='5663' id='clacli2' class='eliminar' /></td></tr>
  18. <tr><td>fila3</td></tr>
  19. </body>
  20. </html>

Ponemos un id a la tabla por si hubiera otras

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 01/02/2013, 02:12
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 7 meses
Puntos: 58
Respuesta: Eliminar elemento padre al pulsar checkbox

Muchas gracias a los dos.

Etiquetas: checkbox, elemento, funcion, input, jquery, js, padre, pulsar
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 10:52.