Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Asignar Funcion ha elemento HTML generado por PHP

Estas en el tema de Asignar Funcion ha elemento HTML generado por PHP en el foro de Jquery en Foros del Web. hola a todo como están no se si alguien por aquí ha tenido el mismo problema que yo veran tengo un script en php que ...
  #1 (permalink)  
Antiguo 13/10/2015, 13:07
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 7 meses
Puntos: 2
Asignar Funcion ha elemento HTML generado por PHP

hola a todo como están no se si alguien por aquí ha tenido el mismo problema que yo veran tengo un script en php que me genera html de la siguiente manera
Código PHP:
Ver original
  1. $n=1;
  2. while($r=@mysql_fetch_assoc($q)){
  3. $cad.='<a id="me_info_complementaria'.$n.'" style="float:right; margin-top:3%;margin-right:-14%">+</a>
  4. <div id="me_info_complementaria_contacto'.$n.'"></div>';
  5.     $n++;
  6. }
ahora bien tengo un funcion en jquery de la siguiente manera
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.   $('#me_info_complementaria1').toggle(
  3.     function(e){
  4.       $('#me_info_complementaria_contacto1').slideUp();
  5.       $(this).text('+');
  6.       e.preventDefault();
  7.     },
  8.     function(e){
  9.       $('#me_info_complementaria_contacto1').slideDown();
  10.       $(this).text('-');
  11.       e.preventDefault();
  12.   });
  13. });
lo pruebo y no realiza nada pero lo probe desde la consola de chrome y si lo hace no se porque el jquery no ve el html que genera el while o que estoy haciendo mal
  #2 (permalink)  
Antiguo 14/10/2015, 02:26
 
Fecha de Ingreso: enero-2014
Ubicación: Navarra
Mensajes: 94
Antigüedad: 10 años, 10 meses
Puntos: 18
Respuesta: Asignar Funcion ha elemento HTML generado por PHP

Hola.

Segun que version de jQuery estes usando el metodo toggle() ya no esta soportado,
si es asi tendrias que añadirle esta libreria despues de la de jquery:

<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

y si no puedes hacerlo con un evento click y un if
Código Javascript:
Ver original
  1. $('#me_info_complementaria1').click(
  2.         function(e){
  3.         if($(this).text() == '-'){
  4.           $('#me_info_complementaria_contacto1').toggle(1000);
  5.           $(this).text('+');
  6.           } else {
  7.           $('#me_info_complementaria_contacto1').toggle(1000);
  8.           $(this).text('-');
  9.           }
  10.           e.preventDefault();
  11.          });

saludos
  #3 (permalink)  
Antiguo 14/10/2015, 12:22
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 7 meses
Puntos: 2
Respuesta: Asignar Funcion ha elemento HTML generado por PHP

Hola y gracias por responder lo probé y funciona ahora mi dilema esta si vez en el while del php le agrega un numero al id
Código PHP:
Ver original
  1. while($r=@mysql_fetch_assoc($q)){
  2. $cad.='<a id="me_info_complementaria'.$n.'" style="float:right; margin-top:3%;margin-right:-14%">+</a>
  3. <div id="me_info_complementaria_contacto'.$n.'"></div>';
  4.     $n++;
  5. }
es decir el id seria +- asi me_info_complementaria1 y lo mismo para el div asi me_info_complementaria_contacto1 y así sucesivamente y tendria que hacer una funcion para cada id que genere el php lo optimo seria con un ciclo pensé en un FOR pero no tengo ni idea de como hacerlo
  #4 (permalink)  
Antiguo 14/10/2015, 13:09
 
Fecha de Ingreso: enero-2014
Ubicación: Navarra
Mensajes: 94
Antigüedad: 10 años, 10 meses
Puntos: 18
Respuesta: Asignar Funcion ha elemento HTML generado por PHP

Hombre no hace falta que hagas una funcion por cada id

Puedes usar un selector que capture el evento click en los identificadores que empiecen por "me_info_complementaria" y de ahi obtienes el id.

seria mas o menos asi:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.  
  3.     $('a[id^=me_info_complementaria]').click(
  4.             function(e){
  5.             var valor_id = $(this).attr('id');
  6.             var arreglo_valor_id = valor_id.split("complementaria");
  7.             var identificador = "#me_info_complementaria_contacto" + arreglo_valor_id[1];
  8.             if($(this).text() == '-'){
  9.               $(identificador).toggle(1000);
  10.               $(this).text('+');
  11.               } else {
  12.               $(identificador).toggle(1000);
  13.               $(this).text('-');
  14.               }
  15.               e.preventDefault();
  16.              });
  17. });//fin de ready

Supongo que habra mas formas, pero es lo que se me ocurre.
saludos

Última edición por sintel_1; 14/10/2015 a las 13:33
  #5 (permalink)  
Antiguo 15/10/2015, 08:10
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 7 meses
Puntos: 2
Respuesta: Asignar Funcion ha elemento HTML generado por PHP

Gracias por tu ayuda funciona a la perfección

Etiquetas: elemento, funcion, html, php
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:15.