2014-02-16 118 views
0

我知道這個主題有很多線程。搜索了很多已經好幾天了(!)......因此而變得瘋狂。 我檢查了這些: Uncaught TypeError: Object #<Object> has no method 'dialog' Uncaught TypeError: Object [object Object] has no method 'dialog'Uncaught TypeError:Object [object Object] has no method'dialog'

不能明白我做錯了,需要你的幫助。下面是我正在努力工作的代碼。

Index.chtml

@{ 
    ViewBag.Title = "Home Page"; 
} 

<br/> 
<input type="button" value="Get Form" onclick="getForm()" /> 


<script type="text/javascript"> 
function getForm(){$('#dialog').dialog({ 
      autoOpen: true, 
      width: 400, 
      resizable: false, 
      title: 'My Table', 
      modal: true, 
      open: function(event, ui) { 

       $(this).load('@Url.Action("Index", "Home")'); 
      }, 
      buttons: { 
       "Close": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
}</script> 

<div id="dialog"></div> 

控制器

public ActionResult _dialog() 
    { 
     return View(); 
    } 

    public ActionResult Index() 
    { 
     return View(); 
    } 

_dialog.chtml

<h3>Partial View code</h3> 

_Layout.chtml

... 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script src="~/Scripts/jquery-ui-1.10.4.min.js"></script> 
<link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="stylesheet" type="text/css" /> 
... 
+1

你錯過了jQuery UI庫的鏈接嗎? –

+0

檢查您的外部腳本是否已正確嵌入到呈現的HTML代碼中,並且可以實際到達(不是404或類似的東西)。 – CBroe

+0

^是的,將鏈接(src)複製到jquery ui lib並粘貼到您的瀏覽器(帶域名),你能看到它嗎? –

回答

0

我想有jQuery和jQuery用戶界面的版本,您正在使用之間一些不兼容。嘗試使用jQuery 2.0.0:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> 
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" /> 

可能有一些問題與jQuery UI 1.10.4和jQuery> 2.0.0如jQuery 2.1.0例子。

+0

對不起,同樣的錯誤。如果我刪除了「@ Scripts.Render(」〜/ bundles/jquery「)」這一行,那麼javascript可以工作,但不是模態,內容顯示在頁面的中心。 –

+0

爲什麼你有'@ Scripts.Render(「〜/ bundles/jquery」)'行?這將再次包含jQuery。您應該決定是使用捆綁包還是包含外部腳本。如果你使用bundle,那麼使用'@ Scripts.Render(「〜/ bundles/jquery」)'並且在它使用'@ Scripts.Render(「〜/ bundles/jqueryui」)''''''之後,部分腳本{..}「部分。並且擺脫所有的自定義腳本包含,比如''和''你有。 –

+0

ловипять!!!非常感謝你。刪除所有包並工作。現在我明白我做錯了什麼。 –

相關問題