0

关闭时我必须加载一个<div>,因为我的 HTML 是在<div>.

IE

window.location.href =  $("#bodydiv").load('pages/test1.html');

但这实际上并没有按照我们想要的方式工作,因为<div>加载 HTML 的实际上并不是一个.html页面。

我怎样才能做到这一点?

代码:

function test_() {
    var dDialog = $('#test1').load("pages/test.html");
    dDialog.dialog({
        autoOpen: false,
        modal: true,
        title: "Warning",
        buttons: [{
            text: "Ok",
            click: function () {
                $(this).dialog("close");
            }
        }],
        close: function (event, ui) {
            /* want to load this way but this does not (will not) work   */
            window.location.href = $("#bodyDiv").load('pages/test1.html');
        }
    });
    dDialog.dialog('open');
}

如果我只是给出window.location.href = "pages/test1.html",HTML 会按预期加载,但不在<div>我指定的范围内,以及该<div>.

4

2 回答 2

0

window.location.href 会将窗口的 URL 更改为指定的 URL。如果您只想将 HTML 注入指定的 div,请完全删除 window.location.href,这应该只是将 HTML 注入到 bodyDiv。

于 2013-07-22T15:34:01.457 回答
0

您不希望更改页面的 window.location.ref。你只需要 $("#bodyDiv").load('pages/test1.html');。

jQuery(document).ready(function($) {

function test_() {
    var dDialog = $('#dialog');
    dDialog.dialog({
        autoOpen: false,
        modal: true,
        title: "Warning",
        buttons: [{
            text: "Ok",
            click: function () {
                $(this).dialog("close");
            }
        }],
        close: function (event, ui) {
            $("#bodyDiv").load('/');
        }
    });
    dDialog.dialog('open');
}

test_();
})

假设以下html:

<div id='bodyDiv'>Hi there </div>
<div id='dialog'>Some Dialog</div>

看看这个小提琴(http://jsfiddle.net/WJj63/

于 2013-07-22T16:28:55.707 回答