我正在尝试通过具有相同类的多个链接打开多个对话框,但仅在单击打开的对话框链接时加载内容,
所以我一直在玩Nemikor's solution动态加载内容,
和Nick Craver's多个对话框方法,
并想出了这段代码:
$(document).ready(function() {
$('.addBtn, .editBtn').each(function() {
var $link = $(this);
var $nextDiv = $(this).next('.editDialog');
$.data(this, 'divObject', $nextDiv);
$.data(this, 'dialog',
$nextDiv.dialog({
autoOpen: false,
title: $link.attr('title'),
width: 700,
height: 650
})
);
}).click(function() {
$.data(this, 'divObject').load($(this).attr('href'));
$.data(this, 'dialog').dialog('open');
return false;
});
});
当我加载页面时,我点击的第一个链接(无论哪一个)完美地工作,
但是,如果我按另一个 - 浏览器导航到内容而不是在对话框中打开它,并发送错误消息:
Error: $.data(this, "divObject") is undefined
请帮助!
答案 0 :(得分:1)
这是我写的一些小脚本(动态对话框)
$(".dialog").dialog({
autoOpen: false,
show: "blind",
hide: "explode",
draggable: false,
resizable: false
});
$(".opener").click(function () {
diagId = ($(this).attr("id"));
$("." + diagId).dialog("open");
return false;
});
<a class="opener" id="SomeDiag">
<div class="dialog SomeDiag" title="DiagTitle">
<p>blah blah blah copy copy copy</p>
</div>
我看到了一种动态,因为我没有传递内容,而是动态地打开预定义内容