Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Jquery no consigo trabajar con código cargado mendiante ajax

Estas en el tema de Jquery no consigo trabajar con código cargado mendiante ajax en el foro de Jquery en Foros del Web. Hola Soy nuevo en el foro pero he entrado muchas veces vía google en busca de respuestas sobre programación en general pero esta vez no ...
  #1 (permalink)  
Antiguo 15/06/2013, 10:03
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 9 años, 3 meses
Puntos: 1
Jquery no consigo trabajar con código cargado mendiante ajax

Hola
Soy nuevo en el foro pero he entrado muchas veces vía google en busca de respuestas sobre programación en general pero esta vez no he conseguido encontrar lo que buscaba por eso abro el post por si alguien tiene los conocimientos y las ganas para ayudarme

Bueno se trata que genero mediante jquery y ajax un numero x de inputs y estos inputs les he puesto una clase para trabajar con ellos posteriormente pero no consigo activar la función jquery

Las funciones que me generan codigo son echas con el evento on que segun he encontrado sirve para mi proposito

Estas son las dos funciones que funcionan correctamente al generar lo que tienen que generar
Código:
$('#id').on('change', function() {...}
$('#id').on('keyup', function() {...}
Y aqui estaria la funcion que trabaja con el codigo que genera la segunda funcion
Código:
$('.class').on('change', function() {...}
Pues nada cualquier ayuda es bienvenida y muchas gracias por leer e intentar ayudar

Saludos

PD: Por si es de utilidad
Código:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  #2 (permalink)  
Antiguo 15/06/2013, 10:59
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 15 años, 10 meses
Puntos: 56
Respuesta: Jquery no consigo trabajar con código cargado mendiante ajax

Las funciones decláralas después de que hayas hecho la inserción de los inputs. Si declaras antes los eventos, cuando los inputs aún no estan en el documento, no te funcionarán.
Usa delegate en tu caso.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #3 (permalink)  
Antiguo 15/06/2013, 11:07
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 9 años, 3 meses
Puntos: 1
Respuesta: Jquery no consigo trabajar con código cargado mendiante ajax

Cita:
Iniciado por America|UNK Ver Mensaje
Las funciones decláralas después de que hayas hecho la inserción de los inputs. Si declaras antes los eventos, cuando los inputs aún no estan en el documento, no te funcionarán.
Usa [URL="http://api.jquery.com/delegate/"]delegate[/URL] en tu caso.
Gracias por responder
No me quedo claro del todo por eso, es decir, yo tengo un documento php donde esta todo el código html (es php porque posteriormente pondre codigo php) y ahí enlazo el css, jquery y las funciones de jquery con ajax
Entonces una vez que relleno un campo se activa el evento y hace aparecer unos inputs dinámicos dependiendo lo introducido y esos a la vez quiero que al rellenarlos o seleccionarlos (en caso de select) ejecuten el evento
No se si me he explicado bien sino pregúntame haber como puedo arreglarlo con tu solución
Saludos
  #4 (permalink)  
Antiguo 15/06/2013, 11:28
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 15 años, 10 meses
Puntos: 56
Respuesta: Jquery no consigo trabajar con código cargado mendiante ajax

No haz puesto nada de tu codigo por eso me suponia que esa era el problema.
Si tus inputs los generas despues de que haya cargado la pagina no van a funcionar los eventos (si los tienes declarados antes, aparte).
Ya probaste delegate?
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #5 (permalink)  
Antiguo 15/06/2013, 11:50
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 9 años, 3 meses
Puntos: 1
Respuesta: Jquery no consigo trabajar con código cargado mendiante ajax

Cita:
Iniciado por America|UNK Ver Mensaje
No haz puesto nada de tu codigo por eso me suponia que esa era el problema.
Si tus inputs los generas despues de que haya cargado la pagina no van a funcionar los eventos (si los tienes declarados antes, aparte).
Ya probaste delegate?
Intente usar el "on" con el selector que hace la función de "delegate" (según he leído) pero igualmente no me sale, teóricamente es el directorio padre el que tengo que poner no? Y su etiqueta o id? Y esa función "delegate" donde iría en la funcion que intenta usar los inputs dinámicos, en los demás inputs o en todos?

Así seria la función con "on" actuando como "delegate" pero no me funciona
Código:
$("#id").on("change", "form", function () {…}
Gracias por tu tiempo
Saludos

EDIT:

Esto seria el HTML
Código:
<div id="id"></div>
Esto seria la parte de la función que que introduce el texto con ajax, que es donde después quiero acceder a el para y crear otros campos dinámicos según lo introducido o escogido (en caso de select)
Código:
$('#id').html('<input type="text" />');
Lo pongo porque a lo mejor habría otra manera mejor de mostrar los inputs con el "append" por ejemplo o alguno similar

Última edición por SanGoku; 15/06/2013 a las 12:21
  #6 (permalink)  
Antiguo 15/06/2013, 12:45
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 15 años, 10 meses
Puntos: 56
Respuesta: Jquery no consigo trabajar con código cargado mendiante ajax

Sería

$('#id').html('<input type="text" class="clase1" />');

$("#id").delegate("keyup", "input.clase1", function (e) {
console.info("estas pulsando "+ e.keyCode)
})
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #7 (permalink)  
Antiguo 16/06/2013, 14:48
 
Fecha de Ingreso: junio-2013
Ubicación: España
Mensajes: 23
Antigüedad: 9 años, 3 meses
Puntos: 1
Respuesta: Jquery no consigo trabajar con código cargado mendiante ajax

Muchas gracias por tu tiempo al final lo solucione dejo aquí como me salio al fin

Deje las funciones que me creaban el contenido dinámico con el "on"
$('#id').on('change', function() {...}

Y para usar ese contenido dinámico llamo así la función
$(document).on('change', 'select.id', function() {...}

Etiquetas: ajax, contenido, dinamico
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 22:32.