0

jQuery UI を使用して、ASP.NET MVC 5 部分ビューを空の div にレンダリングしています。

$(document).ready(function () {
    $(".SiteName").on("click", function (event) {
        event.preventDefault();
        var siteName = $(this).data("sitename");
        //alert(siteName);
        $.ajax({
            url: "/EtlLog/ListSiteJobs?SiteDescription=" + encodeURIComponent(siteName),
            type: "GET",
        })
        .done(function (result) {
            $("#ListSite").html(result).dialog("open");
        });
    });
})

クリック後に ListSite div を調べると、予想される結果で満たされていることがわかりますが、jQuery UI エラーが発生します。

Uncaught Error: cannot call methods on dialog prior to initialization; attempted to call method 'open' 

.ready() のさまざまな組み合わせを試し、.dialog() に使用される div 内でレンダリングされる div をネストすることさえ試みました。このエラーに関するすべての質問に目を通したに違いありませんが、まだ解決策が見つかりません。

4

1 に答える 1

1

最初にダイアログを「セットアップ」する必要がありますopen。試す:

$(document).ready(function () {
    $(".SiteName").on("click", function (event) {
        event.preventDefault();
        var siteName = $(this).data("sitename");
        //alert(siteName);
        $("#ListSite")
           .load("/EtlLog/ListSiteJobs?SiteDescription=" + encodeURIComponent(siteName))
           .dialog({autoOpen:true})
    });
})

PS:を使用して自由にコードを短縮しload()ました。

于 2013-11-05T20:01:39.220 に答える