2013-08-18 54 views
0

我有一個類似的問題afterAjaxUpdate callbackfunction CListView shows undefinedafterAjaxUpdate調用沒有被調用

目前雖然我的功能沒有被調用。真的不知道爲什麼。 Chrome在日誌中顯示沒有錯誤。

我在我的HTML中有以下內容。我可以從控制檯日誌中調用它。

<script> 
function savedUser() 
{ 
    alert('hello'); 
} 
</script> 

而且我用我的CGridView

'afterAjaxUpdate'=>'savedUser', 

下面我覺得這是真的很明顯。但我已經用完了想法。任何幫助將是巨大的

+1

我只是做了一個嘗試,它工作得很好。你能查看源代碼HTML並尋找諸如jQuery('#my_grid'),yiiGridView(...'afterAjaxUpdate':savedUser})來查看它是否存在嗎? –

+0

@TelvinNguyen未按預期得到AfterAjaxUpdate。它是下面的'afterAjaxUpdate':function(){... ''這只是一系列的語句像'jQuery('。popover')。remove(); ' – Jonnny

+1

'afterAjaxUpdate':savedUser應該在那裏。我認爲這是表明你的問題的重要線索。只是猜測,你正在審查的網格和上面設置的網格是一個嗎? –

回答

1

你需要告訴Yii的那'savedUser'是一個JavaScript標識的名稱,以便它不編碼它 - 否則,Yii的將放置引號savedUser和JavaScript將會把它作爲一個字符串,而不是函數的名稱。

您可以通過在CJavaScriptExpression包裝名稱做到這一點:

'afterAjaxUpdate'=> new CJavaScriptExpression('savedUser'), 
+0

謝謝你。它似乎並沒有解決這個問題。仍然沒有發生。 – Jonnny

+0

@Jonnny:這很奇怪。瀏覽器的JavaScript控制檯說什麼?任何錯誤? – Jon

+0

我這麼認爲,不,也沒有錯誤。我剛剛回答了@Telvin的問題。我知道在AjaxUpdate需要'function(id,data)之後的文檔中'id'指向網格視圖的ID,'data'是接收到的ajax響應數據。但在這裏看到了早先的Q,我認爲我的方式也可以。 – Jonnny