Javascript jquery UI对话框的返回值

Javascript jquery UI对话框的返回值,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,你可以在许多帖子(,)中找到解决方案,但他们的解决方案不适合我 这是我编写的普通jquery对话框 $("#dialog").dialog({ autoOpen:false, buttons:{ "ok":function(){ $(this).dialog("close");

你可以在许多帖子(,)中找到解决方案,但他们的解决方案不适合我

这是我编写的普通jquery对话框

$("#dialog").dialog({
        autoOpen:false,
        buttons:{
            "ok":function(){                                        
                        $(this).dialog("close"); 
                        return true;                                                                    
                    },
            "cancel":function(){                          
                        $(this).dialog("close");     return false;                  
                }
            }   
});
我将打开带有以下代码的对话框:

var returnVal=$("#dialog").dialog("open");
如果用户单击“取消”,我需要返回
false
,如果用户单击“确定”,我需要返回
true

var returnVal=$("#dialog").dialog("open");

我需要
returnVal
来返回
boolean
值(真/假),但它返回javascript
object

您不能从OK/cancel函数返回某些内容,因为它们本质上是只在单击按钮时处理的事件处理程序

使用单独的函数处理结果:

$mydialog = $("#dialog").dialog({
    autoOpen: false,
    buttons: {
        "ok": function() {
            $(this).dialog("close");
            processResult(true);
        },
        "cancel": function() {
            $(this).dialog("close");
            processResult(false);
        }
    }
});

$mydialog.dialog("open");


function processResult(result) {
    alert(result);
}

工作示例:

我已经实现了带有自定义消息和回调函数的是/否确认对话框,如下所示。如果您想将同一个对话框用于各种用途,这将非常有用

<script type="text/javascript">
    // prepare dialog
    $(function () {
        $("#confirm-message-dialog").dialog({
            autoOpen: false,
            modal: true,
            closeOnEscape: false,
            buttons: {
                Yes: function () {
                    $(this).dialog("close");
                    $(this).data("callback")(true);
                },
                No: function () {
                    $(this).dialog("close");
                    $(this).data("callback")(false);
                }
            }
        });
    });

    // open dialog with message and callback function
    function confirmMessageDialog (message, callback) {
        $('#confirm-message-dialog-message').text(message);
        $('#confirm-message-dialog').data("callback", callback).dialog("open");
    };
</script>

<!-- The dialog content -->
<div id="confirm-message-dialog" title="Warning"> 
    <p id="confirm-message-dialog-message"></p>
</div>

//准备对话框
$(函数(){
$(“#确认消息对话框”)。对话框({
自动打开:错误,
莫代尔:是的,
closeOnEscape:错误,
按钮:{
是:函数(){
$(此).dialog(“关闭”);
$(this).data(“回调”)(true);
},
否:函数(){
$(此).dialog(“关闭”);
$(此).data(“回调”)(false);
}
}
});
});
//使用消息和回调函数打开对话框
函数confirmMessageDialog(消息,回调){
$(“#确认消息对话框消息”)。文本(消息);
$('#确认消息对话框')。数据(“回调”,回调)。对话框(“打开”);
};


希望这对其他人也有帮助:)

对不起,曼苏克(我想带着深深的感谢接受它!),但是等等。。我在我的网页上仔细研究了一下。。我只是在这里给你提供了一些代码。我无法在提交表格的地方给出“结果”。@Umesh我想让您阅读该页并接受其他答案-不是为了这个问题。。。你能用你的问题创造一个新的解决方案吗。。这需要一些时间。你能等我吗。。?