2010-06-23 75 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