Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] ayudita borrar todas las filas seleccionadas con un click

Estas en el tema de ayudita borrar todas las filas seleccionadas con un click en el foro de Javascript en Foros del Web. Hola amigos como pueden ver estoy tratando de borrar todas las filas de una tabla html en un solo click: Tengo una tabla y cada ...
  #1 (permalink)  
Antiguo 13/09/2013, 10:22
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Información ayudita borrar todas las filas seleccionadas con un click

Hola amigos como pueden ver estoy tratando de borrar todas las filas de una tabla html en un solo click:
Tengo una tabla y cada fila tiene su propio checkbox, cada fila tr tiene como id el documento del cliente:

Código PHP:
Ver original
  1. $tabla .= '<tr id='.$fila['idcliente'].'   >';

y cada checkbox tiene el documento del cliente como value

Código PHP:
Ver original
  1. '<td><input type="checkbox" value='.$fila['idcliente'].'></td>';

En la parte de arriba tengo un botonsito con id='btnBorrar' y quiero que cuando selecciono todos los ckeckbox y le de click al botonsito se desaparezcan todas las filas al mismo tiempo, y de igual manera si selecciono solo 3 de 10 etc...

Ya tengo la primera parte del codigo que borra de manera correcta la fila, pero hay una deficiencia, es que si selecciono 4 checkbox de mi tabla, debo darle 4 clicks al botonsito, es decir debo darle tantos clicks como checks haya seleccionado!!

No se cual es el problema en mi codigo JS pero les agradeceria mucho si me pueden ayudar muchas gracias de antemano y les dejo las funciones:

Código Javascript:
Ver original
  1. //funcion que captura los checkbox seleccionados para borrar los datos y en la respuesta del servidor ejecuta una funcion para quitar la fila
  2. function borrarSeleccionado(){
  3. ajax = Ajax();
  4.  
  5. for (var i=0;i < document.getElementsByTagName('input').length;i++)
  6.         {  
  7.         var checks = document.getElementsByTagName('input')[i];
  8.  
  9.         if (checks.type == "checkbox")
  10.             {  
  11.                 if (checks.checked == true && checks.value!=''){  
  12.  
  13.                     var tr= document.getElementById(checks.value);
  14.                     var id = tr.getElementsByTagName("td")[2].innerHTML;  
  15.                     var nombre = tt.getElementsByTagName("td")[3].innerHTML;
  16.                     ajax.open("POST","borrar.php", true);
  17.                     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  18.                     ajax.onreadystatechange = function()   
  19.                     {
  20.                         if (ajax.readyState==4 )   
  21.                         {   //funcion para quitar la fila
  22.                             quitarFila(id);
  23.                         }  
  24.                     }
  25.                     query = "id="+id+"&nombre="+nombre;
  26.                     ajax.send(query);
  27.                    
  28.                 }
  29.                
  30.             }
  31.         }
  32.    
  33. }
  34.  
  35. //funcion para quitar la fila
  36. function quitarFila(codigo)
  37. {
  38.     ajax = Ajax();
  39.     ajax.open("POST", "Contactos/actualizacionContacto.php", true);
  40.     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  41.     ajax.onreadystatechange = function (){
  42.         if (ajax.readyState==4)
  43.         { //en este div se muestra la tabla que contiene los datos de los clientes
  44.           var div = document.getElementById('div').innerHTML;
  45.          if(div)
  46.             {   //captura la fila tr por su id
  47.                 var fila2 = document.getElementById(codigo);
  48.                    
  49.                 if (fila2.parentNode)
  50.                 {  
  51.                 //borra la fila
  52.                 fila2.parentNode.removeChild(fila2);
  53.                
  54.                 }      
  55.             }      
  56.         }
  57. }  
  58.     ajax.send(null);       
  59. }
  60.  
  61.  
  62. document.getElementById('btnBorrar').onclick=borrarSeleccionado;
  #2 (permalink)  
Antiguo 13/09/2013, 10:52
Avatar de vick90  
Fecha de Ingreso: abril-2010
Mensajes: 144
Antigüedad: 14 años
Puntos: 14
Respuesta: ayudita borrar todas las filas seleccionadas con un click

Con esta instruccion en php pero primero debes tener los id's en una cadena id=14,25,18;
Código PHP:
Ver original
  1. delete from x where id in('$id');
Saludos
  #3 (permalink)  
Antiguo 13/09/2013, 11:02
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: ayudita borrar todas las filas seleccionadas con un click

No, osea me refiero al que borrar las filas de la tabla osea que se quiten, ese es mi problema, la funcion para borrar los datos del cliente de la BD ya la tengo y funciona en borrar.php

mi problema es cuando selecciono varios checkbox por ejemplo 6, tengo que darle click al boton borrar 6 veces y asi me esta borrando uno por uno y quiero que me borre todo lo seleccionado de una. gracias por responder.
  #4 (permalink)  
Antiguo 13/09/2013, 12:48
Avatar de vick90  
Fecha de Ingreso: abril-2010
Mensajes: 144
Antigüedad: 14 años
Puntos: 14
Respuesta: ayudita borrar todas las filas seleccionadas con un click

porque no almacenas los ids en un array luego con un for vas rrecoriendo uno por uno y los vas eliminando

Etiquetas: ajax, filas, funcion, html, input, js, php, todas
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 00:19.