Uncaught TypeError: Object [object Object] не имеет метода 'dialog' - PullRequest
30 голосов
/ 09 января 2012

Я пытаюсь использовать диалоговое окно jQueryUI в приложении MVC3, но у меня проблема с ним. Диалог, который у меня есть, загружает в него частичное представление, в котором пользователь будет либо редактировать, либо создавать новый элемент. Это работает нормально, но если я пытаюсь сохранить или обновить элемент или если я пытаюсь закрыть его, я получаю сообщение в заголовке.

Я добавил все необходимые файлы .js, но все еще получаю сообщение об ошибке. Я также использовал firebug, но все еще не могу найти причину ошибки.

HTML

<span class="EditLink ButtonLink" addressId="@addr.Id">Modify this Address</span>
<div id="popup"></div>

JavaScript

$(document).ready(function () {
    var id = 0;

    //define config object
    var dialogOpts = {
        title: "Edit item",
        modal: true,
        autoOpen: false,
        height: 500,
        width: 500,
        open: function () {
            $("#popup").load("/partialviewtoload/" + id);
        },
        buttons: {
            Cancel: function() {
                $(this).dialog('close');
            }
        }
    };

    $("#popup").dialog(dialogOpts);    //end dialog

    $('.EditLink').click(function() {
        id = $(this).attr("itemId");
        $("#popup").dialog("open");
        return false;
    });    
});

Ответы [ 3 ]

61 голосов
/ 09 января 2012

проблема заключалась в том, что я дважды ссылался на jquery-1.5.1.min.js.Однажды в _Layout.cshtml, а также в частичном представлении я загружал.,Убрал ссылку в частичном представлении и получил ее отсортированной.

5 голосов
/ 09 января 2012

Похоже, что браузер не загрузил jQueryUI, убедитесь, что он находится в вашем DOM

0 голосов
/ 08 марта 2014

В моем случае это было

Вы должны включить сначала grid.locale-en.js, а затем jquery.jqGrid.min.js.

...