2013-05-15 48 views
7

當我按一下按鈕我使用下面的代碼爲對話框的功能:爲什麼使用jQuery UI獲得「類型錯誤對話框不是函數」?

function Confirmation(msg1){ 
if ($('#exportSales').length == 0) { 
     $(document.body).append('<div id="exportSales">'+msg1+'</div>'); 
    } else { 
     $('#exportSales').html(msg1); 
    } 

    $("#exportSales").dialog({ 
     autoOpen: false, 
     show: "blind", 
     hide: "explode",   
     height: 450, 
     width: 1000, 
     modal: true 
    }); 

    $("#exportSales").dialog("open"); 
} 

然而,當我檢查一下在Firebug它顯示這個錯誤在控制檯:

TypeError: $(...).dialog is not a function [Break On This Error] 

modal: true 

編輯:文檔中還有另一個對話框可以正常運行。當我註釋掉那一個時,這個對話框就開始工作了。 如何更改我的代碼,以便他們可以在同一頁面中一起工作?

+0

你已經包括jQuery的ui.js文件 –

+0

例如:'' –

+0

包含Jquery和Jquery UI,我有另一個打開的對話框,但這不是。我應該把這個文件準備好嗎? – HardCode

回答

17

發生這種情況的原因有兩個Jquery包含的文件。所以請注意你的源代碼。這可以幫助你擺脫這個愚蠢的錯誤。

+0

笨錯誤!人thanx – themis

+0

愚蠢的錯誤! man thanx –

+0

我有一個angularjs應用程序(使用jquery)與頁面上的傳統JavaScript代碼混合,需要使用腳本標記將jquery作爲全局範圍變量包含在內。那就是當這個瘋狂的錯誤出現時。我的解決方案是停止在angularjs應用中使用jquery,事實證明這並不困難。 – Yiling

1

而且檢查jQuery UI的腳本是正確或沒有加載

相關問題