jQuery确认对话框

18

可能是重复问题:
使用jQuery创建确认框

我在这里看到了很多例子,用于替换jQuery标准确认对话框,但是我不理解它们中的任何一个。

如果我想要使用jQuery或jQueryUI弹出确认对话框,我该如何实现并检索用户单击的按钮?

肯定有一种简单的方法来设置确认对话框,就像alert("Something!");命令一样。

添加两个按钮,并在yesno上设置回调函数即可。


你能给我们提供其中一个示例的链接吗? - Jay
2
http://stackoverflow.com/questions/3383546/jquery-confirmation-samples - MayoMan
我已经尝试过调整它以适应我的需求,但无法使其正常工作。 - MayoMan
请查看这个 jQuery 插件:http://myclabs.github.com/jquery.confirm/ - Matthieu Napoli
使用jQuery弹出确认对话框(无需jQueryUI)http://jsfiddle.net/B92M5/ - Adriano
https://dev59.com/bXM_5IYBdhLWcg3wjj4p - Adriano
3个回答

51

试试这个

$('<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


https://dev59.com/72Yr5IYBdhLWcg3wVYzJ#18474005 - Pierre
请问如何在C#中调用doFunctionForYes函数? - sjd
C# 在这里无法控制,只有使用 JavaScript 才能实现。 - MaVRoSCy
3
答案使用了jQueryUI库。这需要在jQuery标准库的顶部添加。请参见http://jqueryui.com/。 - Adriano
https://dev59.com/03A75IYBdhLWcg3wAUF9#10753619 - Thulasiram
@sjd C# 运行在服务器上,而 JavaScript 运行在浏览器中。要从 JavaScript 调用 C# 函数,您需要通过类似于 ajax 的方式向服务器发出调用请求。 - Pedro Henrique

13
你可以使用jQuery UI,并做类似于这样的事情。
<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");
});


嗨,当我尝试这个时,字符串“Are you sure about this”只是出现在我的浏览器中。我已经将您添加的JavaScript置于页面的就绪方法中,但是当我单击按钮时什么也不会发生。 - MayoMan
@user965895:你试过jsFiddle了吗?它应该可以工作。请问您能否在问题中包含您的脚本,以便我们进行检查? - LeftyX
@user965895:不要忘记包含jQuery UI脚本和CSS。 - LeftyX
无法使代码工作。它在我的浏览器上只显示为纯文本。单击按钮没有任何反应。https://dev59.com/fpTfa4cB1Zd3GeqPULCm - ladiesman1792
@ladiesman1792: 我已经尝试了几个浏览器(Chrome,FF,Edge),它确实有效。 - LeftyX

5
您尝试过使用官方的JQueryUI实现(不仅限于jQuery)吗?请参考此链接

3
JQuery UI 实现,JQuery 默认不包括 UI。 - Rafael Herscovici
确实如此。但是找到所需的库既不困难也不繁琐。 - immutabl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接