2013-03-18 67 views
0

您好我正在嘗試加載腳本以使用JQuery在對話框中創建一些圖表。.load在JQuery對話框中的腳本

在我看來,我有一個局部的準備和等待是在對話框中,當我用Google Chrome工具檢查它:

<div id="mydialog"> 
    @Html.Partial("_fooChart", "Home") 
</div> 

我然後有對話框上點擊即火災,對話框打開,但它是空白的。如果您使用Chrome工具檢查它,您可以看到部分元素在那裏。 (元素不包含的內容,該功能將創建一個基於ID的內容。)

下面是對話:

$(function() { 

    $('#mydialog').dialog({ 
     autoOpen: false, 
     height: 800, 
     width: 800, 
     resizable: false, 
     open: function() { 
      $('#mydialog').load($('#mydialog'), function() { 
       fooChartLoad() 
      }); 
     }, 
     title: 'Foo Chart', 
     modal: true, 
     buttons: { 
      "Close": function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 

    $('#my-button').click(function() { 
     $('#mydialog').dialog("open") 
    }); 
}); 

,這裏是劇本我想負荷:

function fooChartLoad() { 
    setTimeout(function() { 
     createFooChart(); 
     $('#fooChartContainer').bind("kendo:skinChange", function (e) { 
      createFooChart(); 
     }); 
    }, 200); 
} 

基本上我想弄清楚爲什麼當我用JQuery對話框中的打開 - >加載函數調用它時,對話框沒有加載fooChartLoad。

回答

0

我已經試圖在.load之前嘗試部分填充對話框HTML,它將會呈現數據視覺效果的腳本,但是.load會在我同時加載部分和腳本時效果更好,如下所示:

open: function() { 
     $('#fooChartDialog').load($('#fooChartDialog').data('url'), function() { 
      fooChartLoad() 
     });