全部- 我知道这个问题,但以前的解决方案似乎并不适用于我的情况。jquery对话框只能打开一次
我有一个简单的表,每行有多个记录,最后一列是删除超链接。我试图用对话框弹出并确认删除。如果我在对话框中使用div的显式名称(我将它定位在表格所在的div上面一个div的位置),这非常适用。我首先使用了一个破解,似乎解决了“只能打开一次”的问题,只要我命名对话框的div。我试图通用化代码,所以我宁愿避开显式命名对话框所在的div,而是指向prev div。这是第一次,但后续点击不:
<code>
$(".deleteLinkDiag a").livequery('click',function() {
var myParent = $(this).parents("div:eq(0)"); //container div to be replaced
var myDiag = $(myParent).prev("div"); //one div before container div
var urlLoad = $(this).attr("href");
$(myDiag).dialog('destroy');
$(myDiag).dialog({
bgiframe: true,
resizable: false,
height:140,
modal: true,
autoOpen: false,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
"Confirmz":function()
{
myParent.load(urlLoad, function() { });
$(this).dialog("close");
},
Cancel: function()
{
$(this).dialog("close");
}
},
//close: function(ev, ui) { $(this).dialog('destroy');}
});
$(myDiag).dialog('open');
return false;
});
</code>
任何想法?
'var myDiag = $(myParent).prev(“div”);'总是为每个按钮选择不同的div,还是总是选择相同的div? – 2009-11-25 02:24:44
你可以上传一个例子来说明这不适合你吗?我发现很难想像 – 2009-11-25 03:15:31
确实如此:http://163.150.129.104/j/index。php 所以这个想法是,有两个数据表,每个数据表具有一个唯一的每行删除列,并且每个在表格div之前都有一个不同的对话框。第一次弹出对话框,但不是在此之后。如果我把对话框中的类的名称(“打开”),它的工作正常,但我希望能够只有一个div没有做这个函数的多个副本。 – EvilPluto 2009-11-25 17:15:02