在我的页面(我们称之为页面 A)上,我有一个 id 为 customOrderEdit
的 jQuery 对话框。在对话框中,我使用 $("#customOrderEdit").load("/url/to/page.php") 加载另一个页面(我们称之为页面 B)。
现在我想使用自定义按钮关闭对话框,但它不会关闭。我已经尝试了很多东西(在谷歌、stackoverflow 等上找到),但似乎都不起作用。关闭对话框的代码在 A 页面还是 B 页面并不重要,只要它关闭我就很高兴。
我在页面 A 上尝试过的代码:
$("body").on('click', '.cancelUpdateOrder', function(){
console.log("Test"); //it displays the test console log, but it doesn't close
$("#customOrderEdit).dialog( "close" );
return false;
});
我在页面 B 上尝试过的代码:
$(".cancelUpdateOrder").on('click', function(){
$('#customOrderEdit').dialog('close');
return false;
});
我还尝试以不同的方式调用点击函数:
$(".cancelUpdateOrder").click(function(){ }});
$(".cancelUpdateOrder").live('click', function(){ }});
$(".cancelUpdateOrder").on('click', function(){ }});
。
结束部分:
$(".ui-dialog").dialog( "close");
window.parent.$('#customOrderEdit').dialog('close');
$('#customOrderEdit', window.parent).dialog("close");
可能还有一些我不记得了。
有谁知道我做错了什么并可以为我提供正确的代码?
最佳答案
类选择器可以返回对象列表,然后您可以尝试使用 each 来迭代它们:
$('.cancelUpdateOrder').each( function () {
$(this).on('click', function () {
$('#customOrderEdit').dialog('close');
return false;
})
});
如果不起作用,您可以尝试放置 console.log 来跟踪是否到达了正确的元素。
希望对你有帮助
关于jQuery 对话框不会关闭(使用 .load 数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32653669/