Foros del Web » Programando para Internet » Jquery »

crear function dinamica con jquery

Estas en el tema de crear function dinamica con jquery en el foro de Jquery en Foros del Web. Que tal foro. quisiera hacer esta functio dinamica espero alguien me pueda apoyar. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ( '.editar1' ) . ...
  #1 (permalink)  
Antiguo 04/06/2014, 16:05
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 12 años, 4 meses
Puntos: 12
Pregunta crear function dinamica con jquery

Que tal foro.

quisiera hacer esta functio dinamica espero alguien me pueda apoyar.

Código Javascript:
Ver original
  1. $('.editar1').click(function(){
  2.     var url = $('.editar1').attr('link');
  3.     alert(url);
  4.         $.ajax({
  5.             type: "POST",
  6.             url: url,
  7.             success: function(a) {
  8.                     $('.FormPopup').css('display','block');
  9.                     $('.fondo').fadeIn();
  10.                     //$('#agregar').html("cerrar");
  11.                     $('.FormPopup').html(a);
  12.             }
  13.         });
  14. });

esta function esta dentro de un evento click, donde dice e.ditar1 quisiera obtener el id dinamicamente. con php el id si es dinamico pero como lo puedo obtener en la function espero me puedan apoyar.
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 04/06/2014, 16:59
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: crear function dinamica con jquery

Necesito un poco más detalle. realmente lo que quieres es asignar esa funcion a varios elementos que se crean dinamicamente?
o lo que quieres es capturar el id del elemento con clase ".editar"????
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #3 (permalink)  
Antiguo 05/06/2014, 07:11
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 12 años, 4 meses
Puntos: 12
Respuesta: crear function dinamica con jquery

Gracias rjulio21


Lo que necesito es asignar esa funcion a varios elementos que se crean dinamicamente como lo mencionas
__________________
Lo imposible solo cuesta un poco mas
  #4 (permalink)  
Antiguo 05/06/2014, 07:24
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 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
  #5 (permalink)  
Antiguo 05/06/2014, 08:26
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 12 años, 4 meses
Puntos: 12
Respuesta: crear function dinamica con jquery

es correcto si m funciona pero por el id que preciono m manda un id para hacer una modificacion y de la forma que tu me dices siempre me manda el mismo id.

si lo dejo como clase funciona pero siempre me manda el mismo identificador y quiero que me mande el id que estoy pinchando.

espero me puedas apoyar de antemano muchas gracias por tu ayuda
__________________
Lo imposible solo cuesta un poco mas
  #6 (permalink)  
Antiguo 05/06/2014, 09:36
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: crear function dinamica con jquery

No veo dentro de tu codigo donde captures el id.

pero basta conque metas dentro de la funcion onclick un
id = $(this).attr('id'); eso te devolverá el Id del enlace al que hiciste click y luego lo envias.
Si eso no es lo que quieres, disculpa pero no lo entiendo entonces.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #7 (permalink)  
Antiguo 05/06/2014, 09:54
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 12 años, 4 meses
Puntos: 12
Respuesta: crear function dinamica con jquery

Gracias rjulio21.

eso ultimo que me mencionaste me dio una idea y me resulto.

quedo asi.
Código Javascript:
Ver original
  1. $('.editar').click(function(){
  2.     var url = $('.editar').attr('data-link'); tiene el enlace de que form cargar
  3.     var id= $('.editar').attr('id'); el id que necesitaba como parametro
  4.  
  5.     alert(url + id);
  6.         $.ajax({
  7.             type: "POST",
  8.             url: url + id,
  9.             success: function(a) {
  10.                     $('.FormPopup').css('display','block');
  11.                     $('.fondo').fadeIn();
  12.                     //$('#agregar').html("cerrar");
  13.                     $('.FormPopup').html(a);
  14.             }
  15.         });
  16. });

Gracias
__________________
Lo imposible solo cuesta un poco mas
  #8 (permalink)  
Antiguo 05/06/2014, 10:11
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 16
Respuesta: crear function dinamica con jquery

Perfect. la cuestion es que así como lo tienes estas lineas:
Código Javascript:
Ver original
  1. var url = $('.editar').attr('data-link'); tiene el enlace de que form cargar
  2.     var id= $('.editar').attr('id'); el id que necesitaba como parametro

Te devolveran un array con varios registros si hay más de un elemento con la clase "editar" por eso te dije que en vez de eso usaras el "this" así solo haces referencia al campo sobre el cual estás parado. Si son varios selectores a los que asignas la funcion podría no funcionarte bien si dejas las lineas como las tienes.


Me alegra q te sirviera. click al karma y cierra el tema si resolviste. saludos.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos

Etiquetas: dinamica, function
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 23:12.