我使用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>
答案 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
希望这有帮助