2010-06-23 77 views
1

我这样做:

$("#bcdialog").dialog({ 
     resizable: true, 
     height: 400, 
     width: 600, 
     modal: true, 
     autoOpen: false, 
     buttons: { 
     'cancel': function() { $(this).dialog('close'); } 
     'save': function() { $("#bcdialog form").submit(); } 
     } 
    }); 

我想知道是否有可能用这个保存功能,而不是#bcdialog form

+0

你能解释远一点?你想添加新的“事件”到对话框吗? – 2010-06-23 11:34:18

回答

4

也许给它的上下文this将工作,你仍然需要指定窗体部分,但给它的上下文使它特定于你指定的选择器,你不必硬编码元素ID 。

$("#bcdialog").dialog({ 
     resizable: true, 
     height: 400, 
     width: 600, 
     modal: true, 
     autoOpen: false, 
     buttons: { 
     'cancel': function() { $(this).dialog('close'); } 
     'save': function() { $("form",this).submit(); } 
     } 
    }); 

:-)

+0

它的工作原理,我只需要等待7分钟,直到我可以接受你的答案:) – Omu 2010-06-23 11:40:26

+0

很高兴我可以帮助Omu :-) – 2010-06-23 11:50:46

0

$(this)指向一个div并且没有.submit()功能的div,所以你不能取代它。

1

这里,我们去: $("form", this).submit();

+0

这将无法正常工作,因为选择器的上下文参数应该是选择器的父项本身。 TI应该是'div> form',而不是'form> div' **编辑**好吧,有人改变了它 – 2010-06-23 11:37:06

+0

对对不起,我注意到我错了方向并改变了它。 – Brady 2010-06-23 11:41:12