2011-06-06 32 views
1

方案 我有一個由jQuery UI對話框創建的對話框。 它通過單擊窗體打開,表單通過點擊提交。 反饋顯示在表單宣佈成功的下方。在關閉對話框之前,我想刪除成功消息,以便下次打開對話框/窗體時不會出現。注意:可能會在不重新加載頁面的情況下多次打開對話框/表單。 該過程可以消除成功消息。如何清空div關閉對話框

我的嘗試解決方案 我將以下行添加到我的對話框腳本中。我相信語法是正確的,但添加此行會打破腳本。

beforeClose: function (event ui) { 
    $("div#output1").empty(); 
         }, 

全面對話腳本

$(document).ready(function() { 
$('#target a').each(function() { 
    var cancel = function() { 
     $dialog.dialog('close'); 
    }; 
    var $link = $(this); 
    var $dialog = $('<div></div>') 
     .load($link.attr('href')) 
     .dialog({ 
      autoOpen: false, 
      title: $link.attr('title'), 
      width: 700, 
      height: 800, 
      modal: true, 
      buttons: { "Ok": cancel, "Cancel": cancel}, 
      beforeClose: function (event ui) { 
       $("div#output1").empty(); 
     }, 
      open: function (event,ui) { 
       $("input[name='url']").val(pageAddress); 
       } 
     }); 

    $link.click(function() { 
     $dialog.dialog('open'); 
     $("#accordion").accordion({ 
      collapsible: true, 
      active: false 
     }); 
     return false; 
    }); 
    }); 
}); 

看着其他的例子我似乎有正確的語句結構,但我會很感激任何指針,爲什麼這種做法打破了我的腳本。

謝謝。

回答

3

您的語法無效。添加逗號eventuibeforeClose: function (event ui) {

之間

beforeClose: function (event, ui) { 
    $("div#output1").empty(); 
         }, 
做工精細: http://jsfiddle.net/niklasvh/8DD9L/

+0

嗯,用大聲的捶擊擊中前額,並想知道爲什麼我看不到前面有什麼。謝謝! – dorich 2011-06-06 21:02:59

2

您可以使用$("div#output1").html("");清空div。 - 儘管如此,這仍然會保留在DOM中...

+0

謝謝,我沒有想到這種做法。這工作,因爲它保持在DOM是好的,我只需要刪除內容。 – dorich 2011-06-06 21:04:39