未捕获的TypeError:对象[object Object]没有方法'对话'

时间:2014-02-16 14:11:38

标签: javascript jquery asp.net-mvc popup

我知道这个话题有很多主题。已经好几天搜索了很多(!)......因此变得疯狂。 我查了一下: Uncaught TypeError: 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 个答案:

答案 0 :(得分:0)

我认为您正在使用的jquery和jquery UI版本之间存在一些不兼容性。试试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&gt;可能存在一些问题。 2.0.0就像jQuery 2.1.0一样。