2010-01-14 22 views
5

Esta pregunta se relaciona con mi previous question que pregunta acerca de cómo cargar una página en un DIV de forma asincrónica usando jquery/ajax. Se ha resuelto y funciona como encanto :). Ahora el problema está en la Vista que está cargada asíncronamente al DIV, estoy teniendo una vista parcial. El interno de vista parcial contiene algunos javascript. Cuando cargo la página con la combinación ajax/jquery, no carga la parte javascript de PartialView (es decir, ascx). ¡Pero si cargo la página directamente escribiendo la URL, muestra el javascript correctamente! ¿Alguien sabe una explicación a este comportamiento?Problema al cargar javascript en línea en un PartialView

gracias de antemano

/BB

+0

¿Tiene el Javascript conseguir dictada en la salida, pero no funcionan, o se trata de no estar escrito en absoluto para la respuesta? –

+0

@ Chris- el javascript no se está renderizando en absoluto. Creo que la respuesta de Darvin explica por qué. Voy a probar lo que ha sugerido. /gracias – Illuminati

Respuesta

3

Javascript no es cumplido del contenido cargado por una llamada ajax. Para que esto funcione, deberá externalizar javascript que debe ejecutarse en una función separada que invocará en la devolución de llamada exitosa.

$('#searchResults').load('/admin/users', {}, function() { 
    someFunctionThatNeedsToBeExecuted(); 
}); 

ACTUALIZACIÓN:

Para ejecutar la función en el cambio desplegable que podría hacer lo siguiente:

$('#searchResults').load('/admin/users', {}, function() { 
    $('#someDropDownInsertedByThePartialView').change(function() { 
     someFunctionThatNeedsToBeExecuted(); 
    }); 
}); 
+0

@Darvin - mi requisito es ejecutar este javascript en alguna otra acción (en el cambio de menú desplegable) y no en la devolución de llamada exitosa. ¿Hay alguna otra manera de registrar este javascript después de que se carga la página? – Illuminati

+0

@Bumble Bee, en este caso, puede suscribirse al evento 'change'. Ver mi actualización –

+0

@Darvin - ¡Malo! Debería haber intentado eso. Y funcionó. ¡Gracias una tonelada! – Illuminati

Cuestiones relacionadas