【问题标题】:JQuery ui modal dialog external uijQuery ui 模态对话框外部 ui
【发布时间】:2014-07-30 12:07:57
【问题描述】:

我正在尝试在 jquery ui 模式中加载另一个页面

这是我的 Js 文件

function eventWindow(url) {
    getElementById("eventviewer").style.display="block";
    $("#eventviewer").load(url).dialog({
      modal:true,
      buttons: {
        Ok: function() {
          $(this).dialog("close");
        }
      }
    });
}

这是标记

    <!doctype html>
        <html>
        <head>
        <title><?php echo "Date:".$firstDayArray['month']." ".$firstDayArray['year'];?>
        </title>
        <link href="../css/main.css" rel="stylesheet" type="text/css">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/jquery-ui.min.js"></script>
        <script src="event.js" type="text/javascript"></script>
        </head>
        <body>
        .....
    <?php
        echo "<td class=\"days\"><a href=\"javascript:eventWindow('events.php?m=".$month."&d=".$dayArray["mday"]."&y=$year');\">".$dayArray["mday"]."</a><br/>".$event_title."</td>\n";
    ?>
<div id="eventviewer"></div>
        ......
        </body
        </html>

当我使用 window.open 时,它可以工作并在单独的窗口中打开。

但我无法在 jquery ui 模式对话框中打开它。

【问题讨论】:

标签: javascript jquery jquery-ui


【解决方案1】:

有多种方法可以做到这一点,但我不确定哪一种是最佳做法。您可以像这样在对话框容器中附加 iFrame:

$("#dialog").append($("<iframe />").attr("src", "your link")).dialog({dialogoptions});

或:

Working Fiddle

$(function () {
    var iframe = $('<iframe frameborder="0" marginwidth="0" marginheight="0" allowfullscreen></iframe>');
    var dialog = $("<div></div>").append(iframe).appendTo("body").dialog({
        autoOpen: false,
        modal: true,
        resizable: false,
        width: "auto",
        height: "auto",
        close: function () {
            iframe.attr("src", "");
        }
    });
    $(".thumb a").on("click", function (e) {
        e.preventDefault();
        var src = $(this).attr("href");
        var title = $(this).attr("data-title");
        var width = $(this).attr("data-width");
        var height = $(this).attr("data-height");
        iframe.attr({
            width: +width,
            height: +height,
            src: src
        });
        dialog.dialog("option", "title", title).dialog("open");
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 2011-07-12
    • 2011-02-07
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多