JQueryUI在工作对话框上调用Open

时间:2014-10-15 05:26:19

标签: jquery jquery-ui

我使用JQuery .load加载一些html,然后使用JQuery UI从加载的html中的div打开一个对话框。但它不起作用,似乎是因为尽管它是动态加载的,但JQuery UI并没有识别div存在。

我是否必须以某种方式进行.live或.on通话???

编辑:刚刚意识到divtimesheet被命名两次所以将其中一个更改为divtimesheet_holder但仍然是同样的问题?

   loadTimesheet = function () {
        var wkending =  getWeekEnding();
        var proId = $("#newtimesheet").attr("proid");
        $("#divtimesheet_holder").load("Timesheet/NewTimesheet", { proId: proId, enddate: "15/10/2014" }, function() { open();});
    }

   function open() {
        $("#clipboarddialog").dialog("open");
    }


<div id="clipboarddialog">
    <div id="clipboard">
        <div id="divtimesheet">
            @Html.Partial("Timesheet/TimesheetHeader", Model)
            @Html.Partial("Timesheet/TimesheetBody", Model)
            @Html.Partial("Timesheet/TimesheetFooter", Model)
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

您需要调用$("#clipboarddialog").dialog({ options });来初始化小部件。

$(document).ready(function() {
    $("#clipboarddialog").dialog({ 
        autoOpen: false
    });
});

答案 1 :(得分:0)

有两种方法可以在jQuery打开对话框。

首先,您可以直接打开对话框而不提及options方法的任何.dialog

$("#clipboarddialog").dialog();

其次,初始化对话框并在任何地方打开对话框

//set up options
$("#clipboarddialog").dialog({options});

//open
$("#clipboarddialog").dialog("open");

在您的情况下,您不应该为.dialog

提供任何选项

简单地称之为

function open() {
    $("#clipboarddialog").dialog();
}

选中此fiddle

希望这有帮助