2010-01-14 96 views
5

此問題與我的previous question有關,它會詢問如何使用jquery/ajax異步加載頁面到DIV中。它已被解決,它的作品像魅力:)。現在問題出在異步加載到DIV的視圖中,我有局部視圖。局部視圖實習生包含一些JavaScript。當我使用ajax/jquery組合加載頁面時,它不會加載PartialView的javascript部分(即ascx)。但如果我通過輸入url直接加載頁面,它會正確顯示javascript!有人知道對這種行爲的解釋嗎?提前在部分視圖中加載內聯javascript的問題

感謝

/BB

+0

是否的JavaScript得到渲染輸出,但不能運行,或者是它沒有被寫入響應呢? – 2010-01-14 07:17:34

+0

@克里斯 - JavaScript沒有得到渲染。我想達爾文的答案解釋了爲什麼。我會嘗試他所建議的。 /謝謝 – Illuminati 2010-01-14 07:26:34

回答

3

JavaScript並不是由AJAX調用一個加載的內容執行。爲了完成這項工作,您需要將需要執行的JavaScript外部化爲您將在成功回調中調用的單獨函數。

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

UPDATE:

要執行你可以做下面的下拉改變功能:

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

@達文 - 我的要求是執行此JavaScript上的其他行動(在下拉更改),而不是成功的回調。有沒有其他方式來註冊這個JavaScript後,頁面加載? – Illuminati 2010-01-14 07:52:40

+0

@Bumble Bee,在這種情況下,你可以訂閱'change'事件。查看我的更新。 – 2010-01-14 09:46:50

+0

@達爾文 - 我的壞!我應該嘗試過。它的工作。萬分感謝! – Illuminati 2010-01-14 11:07:15