30 votes

TypeError non intercepté: l'objet [objet objet] n'a pas de méthode "boîte de dialogue"

Je suis en train d'utiliser le jQueryUI dialogue dans un MVC3 de la demande, mais avoir un problème avec elle. La boîte de dialogue que j'ai est le chargement d'une vue partielle en elle où l'utilisateur sera soit de modifier ou de créer un nouvel élément. Cela fonctionne bien, mais si j'essaie d'enregistrer ou de mettre à jour l'article, ou si j'essaie de la fermer, je reçois le message dans le titre.

J'ai ajouté tous les .js fichiers, mais le problème persiste. J'ai également utilisé firebug, mais ne peut toujours pas trouver pourquoi erreur qui se passe.

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;
    });    
});

61voto

Nollaig Points 820

le problème était que je faisais référence à "jquery-1.5.1.min.js" deux fois. Une fois dans le _Layout.cshtml et aussi dans la vue partielle que je chargeais. . Suppression de la référence dans la vue partielle et triée.

5voto

Iakov Mishchenko Points 106

Il semble que le navigateur n'ait pas chargé jQueryUI, assurez-vous qu'il se trouve dans votre DOM

0voto

Georgy Gobozov Points 4814

Dans mon cas, c'est que

vous devez inclure d'abord grid.locale-en.js puis jquery.jqGrid.min.js.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X