2011-11-18 116 views
0

我正在使用Google圖表來顯示我們正在運行的民意調查的結果。我使用jQuery ajax調用(GET)來調用提交投票的ActionResult,然後用Google圖表返回部分視圖。從部分視圖顯示Google圖表使用jQuery Asp.Net MVC

當通過jQuery加載HTML時,Google圖表不會顯示,但在加載頁面時作爲正常RenderAction加載時,不會顯示。

任何人都可以擺脫一些光,通過jQuery加載是否需要加載的腳本?

非常感謝

對不起球員應該給予更多的細節:

$.ajax({ 
url: "Survey/RegisterAnswer", 
type: 'POST', 
data: { 
    surveyQuestionId: surveyID, 
    surveyAnswer: id 
}, 
success: function (result) { 
    alert(result); 
    $('#survey-container').html(result).fadeIn("slow", function() { 
    }); 
}}); 

這是所有工作正常,並且HTML返回,因爲我可以看到它在警報,局部視圖看起來像這個:

<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    google.load('visualization', '1', { packages: ['corechart'] }); 
    <%= Html.GoogleChart(ChartType.Pie, Model, "barChartDiv", Model.Data.First().Description, "Properties", "Total", 300, 250) %> 
</script> 

<h3>CHART</h3> 
<div id="barChartDiv"> 
</div> 

與文本CHART的H3頭顯示很好,但谷歌圖表從不顯示。如果頁面加載的時候這個相同的局部視圖可以正常工作,所以它看起來就像是從jQuery調用谷歌圖表時。

有什麼想法?非常感謝。

+0

嘗試把腳本標籤上方的div。這可能是腳本執行時與div成爲DOM一部分的問題。 –

回答

0

您還沒有表現出你的代碼,所以我們只能猜測和我的猜測是,在你的AJAX的成功回調叫你可能忘注入部分返回到DOM:

$.ajax({ 
    url: '/url_to_controller_action_that_will_return_a_partial', 
    type: 'POST', 
    success: function(result) { 
     // inject the result into the DOM: 
     $('#someElementId').html(result); 
    } 
}); 
+0

感謝您的回覆,我在上面添加了更多細節。 – user351711