Jquery UI对话框代替javascript确认

Jas*_*son 5 jquery confirm dialog jquery-ui

我有一堆验证javascript进程与确认.我想使用jquery ui对话框,但我需要在其余的验证过程中返回true.

例如:

var where_to_coupon = confirm(pm_info_msg_013);
      if (where_to_coupon== true) {
      doSubmit=true;
      return doSubmit;
Run Code Online (Sandbox Code Playgroud)

所以我需要一个用UI对话框替换确认的函数,拉取消息字符串(pm_info_msg_013),并使用我自己的按钮或UI按钮在验证过程中返回true.

不知道从哪里开始.

救命?

Mrc*_*ief 10

在jQuery UI对话框中,将该modal选项设置为true,并使用该选项指定主要和次要用户操作buttons.

    $( "#dialog-confirm" ).dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: [{
            text: pm_info_msg_013,
            click : function() {    
                $( this ).dialog( "close" );
                // code related to "where_to_coupon== true" goes here
                // submit form
                }
            }, {
            text: "Cancel",
            click: function() {
                $( this ).dialog( "close" );
                doSubmit = false;
                // don't submit form
            }}]
    });
Run Code Online (Sandbox Code Playgroud)

请参阅此处的演示:http://jqueryui.com/demos/dialog/#modal-confirmation

更新: 这将允许您创建多个确认.用法:

function CreateDialog(okText, cancelText, okCallback, cancelCallback) {
        $( "#dialog-confirm" ).dialog({
            resizable: false,
            height:140,
            modal: true,
            buttons: [{
                text: okText,
                click : function() {    
                    $( this ).dialog( "close" );
                    okCallback();
                    }
                }, {
                text: cancelText,
                click: function() {
                    $( this ).dialog( "close" );
                    cancelCallback();
                }}]
            }
        });

// ******* usage #1 ********    
CreateDialog(pm_info_msg_013, "Cancel", function () {
   // where_to_coupon== true
}, function() {

   // where_to_coupon== false
});

function OnConfirmTrue() {
  // do something
}

function OnConfirmFalse() {
  // do something
}

// ******* usage #2 ********

CreateDialog(pm_info_msg_013, "Cancel", OnConfirmTrue, OnConfirmFalse);
Run Code Online (Sandbox Code Playgroud)