Foros del Web » Programando para Internet » Jquery »

ejecutar jquery en archivo cargado por ajax

Estas en el tema de ejecutar jquery en archivo cargado por ajax en el foro de Jquery en Foros del Web. Hola soy nuevo en esto de los foros,este es mi duda. tengo un archivo x que se carga mediante ajax,este archivo x debe cargar un ...
  #1 (permalink)  
Antiguo 15/02/2013, 09:38
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Mensaje ejecutar jquery en archivo cargado por ajax

Hola soy nuevo en esto de los foros,este es mi duda.
tengo un archivo x que se carga mediante ajax,este archivo x debe cargar un datepicker ui en un input tex con jquery,pero no lo hace.
entiendo que el problema se debe a que la funcion jquery se ejecuta en el load del archivo principal y no al del archivo x.

agradeceria de sobremanera su ayuda, es primera ves que la pido a travez de foros de internet pero ahora como es trabajo no tuve
otra opcion.

saludos.

esta es la funcion javaScript para ajax
function cargarBGByID(){
Código:
	
  divResultado = document.getElementById('rbg');
  

  idbg=document.renoBG.cmbrbg.value;
  ajax=objetoAjax();

 	ajax.open("POST","../boleta_garantia/index.phtml",true);
  ajax.onreadystatechange=function() {

  if (ajax.readyState==4) {

  	divResultado.innerHTML = ajax.responseText;
  }

  }

  ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

  ajax.send("id="+idbg+"&action=ajax&opt=cargarbg");

  }
este es el codigo que se encuentra en el archivo principal y que carga el archivo x

Código:
<script>
	$(function() {
        $("#datepicker").datepicker({minDate:0 });
  	$( "#datepicker" ).datepicker({
      	changeMonth: true,
     	 changeYear: true
  	});

este es el input tex
Código HTML:
<input id='datepicker' readonly  type='text' name='fech' size='15' maxlength='30' value='".FormatoFechaforShow($row['fechVenci'])
bueno cabe destacar que el archivo principal carga todas las referncias a los archivos para hacer funcionar el datepicker y funciona,pero cuando cargo el archivo x el datepicker que contiene ya no funciona.

yaprobe poniendo la funcion jquery en el archivo x.

aver si alguien me ayuda y si es asi me meto con todo al foros :-p
  #2 (permalink)  
Antiguo 15/02/2013, 13:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: ejecutar jquery en archivo cargado por ajax

no entiendo porque usas AJAX tradicional si puedes usar la API de jQuery.

recuerda que el contenido proveniente por AJAX lo procesa JS y no el navegador, por lo tanto hay que "filtrar" los bloques <script> y ejecutarlos con eval(), sin embargo algunas de las funciones ajax-wrappers de jQuery ajax lo hacen de forma automática, consulte su documentación.

PD: además de que tiene un error al implementar ajax clásico, le falta evaluar xmlhttprequestobject.status==200
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/02/2013, 15:06
 
Fecha de Ingreso: febrero-2013
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: ejecutar jquery en archivo cargado por ajax

Si uso jquery para cargar el archivo de manera asincronica quedaria en la misma situacion, ya que el problema radica en que la funcion jquery para cargar el datepicker se ejecuta en el load del archivo principal y no en el que se carga con ajax...

estoy intentando de aprender de como recuperar los bloques de codigo con eval, tambien intente forzar al jquery a que se ejecute de esta manera pero no me funciono (linea 14):(

Código Javascript:
Ver original
  1. function cargarBGByID(){
  2.   divResultado = document.getElementById('rbg');
  3.  
  4.  
  5.   idbg=document.renoBG.cmbrbg.value;
  6.   ajax=objetoAjax();
  7.  
  8.     ajax.open("POST","../boleta_garantia/index.phtml",true);
  9.   ajax.onreadystatechange=function() {
  10.  
  11.   if (ajax.readyState==4) {
  12.  
  13.     divResultado.innerHTML = ajax.responseText;
  14.     divResultado.datepicker({ showOn: 'button', buttonImage: 'calendar.jpg', buttonImageOnly: true, dateFormat: $.datepicker.W3C, changeMonth: true, changeYear: true, yearRange: '1950:2015' });
  15.    
  16.  
  17.   }
  18.  
  19.   }
  20.  
  21.   ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  22.  
  23.   ajax.send("id="+idbg+"&action=ajax&opt=cargarbg");
  24.  
  25.   }

De todas maneras muchas gracias por tomarte la molestia de responder. :)

Etiquetas: ajax, datepicker, javascript, jquery-ui, 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 16:28.