Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/06/2014, 07:24
rjulio21
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 2 meses
Puntos: 16
Respuesta: crear function dinamica con jquery

Amigo,

asi como lo tienes podrias hacerlo pues tu puedes agregar la clase ".editar" a tantos botones quieras y a todos se les asignaria la misma funcionalidad.

Sin embargo por cuestiones más de estandard yo te recomendaria que en vez de una clase uses un atributo data, ya que por lo queneral al agregar un "class" en los selectores los navegadores buscan dicha clase en los archivos css

Quedaria algo asi:

Código Javascript:
Ver original
  1. <button data-cualquiernombre="true">botton 1</button>
  2. <button data-cualquiernombre="true">botton 2</button>
  3. <button data-cualquiernombre="true">botton 3</button>
  4.  
  5. $( document ).ready(function(){
  6.          $("[data-cualquiernombre=true]").on('click',function(){
  7.               var url = $(this).attr('link');
  8.               console.log(url);
  9.              $.ajax({
  10.                 type: "POST",
  11.                 url: url,
  12.                success: function(a) {
  13.                     $('.FormPopup').css('display','block');
  14.                     $('.fondo').fadeIn();
  15.                     //$('#agregar').html("cerrar");
  16.                     $('.FormPopup').html(a);
  17.                    }
  18.              });
  19.          });
  20.  
  21. })

Alli lo que esté dentro del on "click" asignado por jquery, bien sea una funcion anonima o un llamado a otra se ejecutará sobre todos los botones que tengan dicho atributo data, si prefieres seguir usando la clase puedes hacerlo, el funcionamiento es el mismo. la clave es que en la asignación de la variable "url" uses el elemento "this" para que te capture el atributo del elemento que clickeaste.


Saludos.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos

Última edición por rjulio21; 05/06/2014 a las 07:58