我正在使用jquery,我正在试着在关闭对话框之后听听有多少可能会打开,但是我知道有多少打开了。 例如:如果我有4并且我关闭一个它当我期望得到3时返回4,并且当我只打开1时返回2,最后当我关闭最后一个返回1时。 / p>
我做对了吗?我尝试查看文档并尝试查找类似afterClose的内容,但没有。
$( ".test" ).dialog({
autoOpen: false,
height: "auto",
width: "auto",
modal: true,
close: function(e){
$(this).destroy();
// This returns wrong lenght
console.log($('.test').length);
if($('.test').length === 1) {
console.log($('.test a').text());
}
}
});
答案 0 :(得分:1)
你是如何获得这些数字的?除非您正在销毁呼叫
的对话框$( '试验')。长度
总是会返回dom上的测试类数。你使用.remove()或其他东西删除对话框?需要更多信息。
当您关闭对话框时,它不会将其从DOM中删除。它只是隐藏它,你可以在页面底部看到隐藏的html。使用多个对话框的正确方法是使用instances对话框。但那件事很复杂。发布一些代码,特别是如何设置html以及如何删除对话框。
另外(因为我还无法评论),关闭事件会在窗口关闭时触发,但在隐藏窗口之前,这允许您两个地方取消关闭事件,beforeClose(通常用于某些验证)和关闭(也许你在哪里做一些物体或其他东西)。
答案 1 :(得分:0)
尝试更改jQuery
选择器以搜索可见项目:
$( ".test" ).dialog({
autoOpen: false,
height: "auto",
width: "auto",
modal: true,
close: function(e){
// This returns wrong lenght
console.log($('.test:visible').length);
if($('.test:visible').length === 1) {
console.log($('.test a').text());
}
}
});
答案 2 :(得分:0)
@Transactional
public void insert(){
}
@Transactional(readOnly=true)
public void find(){
}