2012-09-27 190 views
13

可能重複:
Yes or No confirm box using jQueryJQuery的確認對話框

我在這裏看到了很多例子關於替代jQuerys標準的確認對話框,但不明白任何人。

如果我想用jQuery或jQueryUI彈出確認對話框。我怎麼做,並檢索用戶點擊了什麼按鈕?

當然,必須有一個簡單的方法來設置確認對話框,如alert("Something!");命令。

向它添加兩個按鈕並在yesno上設置回撥功能?

+0

您能否提供給我們這些例子之一的鏈接? –

+2

http://stackoverflow.com/questions/3383546/jquery-confirmation-samples – MayoMan

+0

我試過調整這一個,以滿足我的需求,但無法讓它工作 – MayoMan

回答

49

試試這個

$('<div></div>').appendTo('body') 
    .html('<div><h6>Yes or No?</h6></div>') 
    .dialog({ 
     modal: true, title: 'message', zIndex: 10000, autoOpen: true, 
     width: 'auto', resizable: false, 
     buttons: { 
      Yes: function() { 
       doFunctionForYes(); 
       $(this).dialog("close"); 
      }, 
      No: function() { 
       doFunctionForNo(); 
       $(this).dialog("close"); 
      } 
     }, 
     close: function (event, ui) { 
      $(this).remove(); 
     } 
}); 

Fiddle

+0

http://stackoverflow.com/a/18474005/1876355 – Pierre

+0

你能解釋如何調用doFunctionForYes,如果它在C#中? – sjd

+0

c#在這裏沒有任何控制,只能用JavaScript工作 – MaVRoSCy

13

您可以使用jQuery UI,並完成類似this

HTML:

<button id="callConfirm">Confirm!</button> 

<div id="dialog" title="Confirmation Required"> 
  Are you sure about this? 
</div>​ 

的Javascript:

$("#dialog").dialog({ 
    autoOpen: false, 
    modal: true, 
    buttons : { 
     "Confirm" : function() { 
      alert("You have confirmed!");    
     }, 
     "Cancel" : function() { 
      $(this).dialog("close"); 
     } 
     } 
    }); 

$("#callConfirm").on("click", function(e) { 
    e.preventDefault(); 
    $("#dialog").dialog("open"); 
}); 

+0

嗨,當我嘗試這個字符串「你確定這個」只出現在我的瀏覽器。我已將您添加的JavaScript添加到了我爲頁面準備的方法中,但是當單擊按鈕時沒有任何反應。 – MayoMan

+0

@ user965895:你嘗試過jsFiddle嗎?它必須工作。請問您的腳本中是否包含您的問題,以便我們檢查? – LeftyX

+0

@ user965895:不要忘記你必須包含jQuery UI腳本和CSS。 – LeftyX