Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2015, 03:56
Avatar de Nostromoz
Nostromoz
 
Fecha de Ingreso: noviembre-2011
Mensajes: 4
Antigüedad: 12 años, 5 meses
Puntos: 0
Paso de variables entre funciones de JQuery

Buenas a todos,

Siempre suelo trabajar con PHP pero en este caso por ciertos requisitos me han pedido que trabaje con JQuery. Al principio no tenía problemas pero llevo un par de días atascado con un problema y no soy capaz de sacarlo, realmente tampoco se si va en esta sección o podría ir directamente a la de Javascript... Voy a intentar explicarlo de forma breve y clara:

Dentro de un bucle foreach en php me saca un listado de unas incidencias que están almacenadas en una BBDD en MySQL. Dentro de ese bucle, necesito recuperar el "ID" de cada incidencia para cuando se pulse sobre un botón se borre la incidencia deseada (en mi caso, cada incidencia tiene asociado un botón de borrar con su ID correspondiente). Quitando código que no viene al caso, básicamente queda en esto:

Código PHP:
Ver original
  1. foreach ($incidencia as $row) {
  2. echo "<div class='botoneraizq'><input type=image src='../../recursos/Boton_Borrar.jpg' class='abrirborrar' value='".$row->id."'></div>";
  3. }

En la parte de JQuery, tenemos una función que llama a un evento click y dicho elemento recoge el $row->id del "Value"del código anterior y llama a una ventana modal. La ID concreta de cada incidencia la recibe perfectamente:

Código Javascript:
Ver original
  1. $(".abrirborrar").click(function (){
  2.         var id = $(this).val(); //Obtengo el Value con el id del elemento a borrar
  3.         alert (id); //Compruebo que se recibe el id correcto de cada incidencia
  4.         return id; // No tengo muy claro si puede devolver un valor
  5.       $("#borrar").dialog("open");
  6.     });

En dicha ventana Modal, al pulsar el botón "OK" se activa una función que llama a un archivo PHP que se encargará de borrar la incidencia con la ID seleccionada. El problema que encuentro es que necesito recuperar la variable "id" del JQuery que he puesto justo arriba en esta función y no encuentro la manera de recuperar esta variable para poder mandárselo al php de borrado, os dejo el código:

Código Javascript:
Ver original
  1. $("#borrar").dialog({
  2.  
  3. // Aquí hay mas código que no es relevante
  4.  
  5. buttons: {
  6.          
  7.         "Ok": function() {
  8.            
  9.         // Aquí es donde necesito recuperar la ID del JQuery anterior para mandárselo al "borraincid.php"
  10.  
  11.             jQuery.post ("../../recursos/borrarincid.php", {id:id},
  12.                     function(data, textStatus){                        
  13.                         if(data == 1){
  14.                             $("#borrar").dialog("close");
  15.                             document.location.reload(true);
  16.                         } else {
  17.                             $("#fracaso").delay(500).fadeIn("slow");;
  18.                         }
  19.             });
  20.         },
  21. });

He intentado recuperar la ID de la incidencia directamente en el botón "OK" de la ventana modal para enviarlo al archivo php, pero siempre me recogía el último valor del bucle.

Perdonad por haberme enrollado tanto, pero quiero dejar las cosas claras para no haceros perder el tiempo.

Muchas gracias de antemano y un saludo.