我正在使用jQuery UI中的模态对话框。我想进行Ajax调用以在对话框中显示内容。
$(function(){
$('#myLink').live("click", function(){
$('#lbContent').dialog('open');
var url= $(this).attr("href");
$('div#lbContent').empty();
$('div#lbContent').load(url);
return false;
});
$('#lbContent').dialog({
stack:true,
bgiframe: true,
autoOpen: false,
height:500,
width:700,
modal: true,
resizable:true
});
});
现在,当我点击链接时,它会按预期在模态对话框中显示内容。
但是当我关闭该对话框并再次点击同一链接时,该对话框无法打开。我试图在两者之间发出警报。
当我刷新页面并单击链接时,它会按预期工作。
答案 0 :(得分:1)
感谢Peter编辑我的初步评论。然而,经过对此的进一步调查,我发现Shruti的问题是动态内容的真正问题。我甚至可以复制抖动的链接。
问题是动态内容也使用jQuery文件。如果我使用转到服务器的URL并使用Cold Fusion页面从数据库请求数据,我得到与Shruti相同的结果,它第一次工作但不是后续访问。如果我使用一个在对话框中显示图像的简单HTML页面,它将一直有效。
我从动态内容页面中删除了jQuery函数,并且每次都有效。所以jQuery存在问题,如果它也被用在正在加载的url中。
++++++++++++++++++++++++++++++++++++++++++++++ < / p>
好几分钟后摆弄这个....
如果动态页面使用主页面使用的相同jQuery文件,则不要在动态脚本中加载这些文件。也就是说,主页面是唯一应加载jQuery文件的页面而不是您尝试加载到主页面上的元素中的动态页面&#34;。回到这一点是,独立环境中的动态页面不起作用,因为你没有调用jQuery UI。
这有点奇怪,因为我可以显示和隐藏带有动态内容的标准div标签,而无需修改任何内容。但是当我想在jQuery中使用对话框函数时,一切都会中断。嗯!仍然是一个非常有价值的JavaScript例程库 - 只需稍微调整一下。那个软件。
答案 1 :(得分:0)
无法重现您的问题。考虑添加一个由javascript + html代码组成的精简样本,可以一致地重现问题。
还要添加您使用的浏览器。如果您的错误控制台中显示任何错误,该怎么办?
根据您的代码检查http://jsbin.com/opigo是否有工作样本。
答案 2 :(得分:0)
对于那些仍在使用IE 7.0的系统开发的人来说,这只是一个词。
$('#lbContent').dialog({
stack:true,
bgiframe: true,
autoOpen: false,
height:500,
width:700,
modal: true,
resizable:true,
对话框参数列表中的最后一个逗号将导致代码无法用于IE 7.0。