Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取jquery确认返回函数的结果_Javascript_Jquery_Jquery Ui_Jquery Ui Dialog - Fatal编程技术网

Javascript 获取jquery确认返回函数的结果

Javascript 获取jquery确认返回函数的结果,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,我需要将javascriptconfirm转换为使用jquery ui确认对话框。问题是,我需要调用并打开确认对话框-我需要根据用户单击的按钮返回真/假(确定/取消)。我知道javascript是异步的,但我被困在如何做到这一点上了?谁能给我指出正确的方向吗 $(document).ready(function() { $('#dialog:ui-dialog').dialog('destroy'); $('#confirm-delete-quote'

我需要将javascript
confirm
转换为使用jquery ui确认对话框。问题是,我需要调用并打开确认对话框-我需要根据用户单击的按钮返回真/假(确定/取消)。我知道javascript是异步的,但我被困在如何做到这一点上了?谁能给我指出正确的方向吗

    $(document).ready(function() {

        $('#dialog:ui-dialog').dialog('destroy');

        $('#confirm-delete-quote').dialog({
            autoOpen: false,
            modal: true,
            buttons: {
                OK: function() {
                    $(this).dialog('close');
                    callback(true);
                },  
                Cancel: function() {
                    $(this).dialog('close');
                    callback(false);
                }   
            }   
        }); 

        $('div.multiRowCheckboxMenu').checkboxMenu({
            menuItemClick: function(text, count) {
                $('#confirm-delete-quote').dialog('open');
//                return confirm('Are you sure you want to ' + text + ' the selected ' + count + ' quote(s)?');
// HOW DO I RETURN WHAT THE USER CLICKED IN THE DIALOG HERE?
                return callback();
            }
        }); 
    });

您已正确启动,但不能期望返回值

本机
confirm()
是一个阻止脚本。也就是说,执行线程等待用户的输入。这就是为什么您可以返回一个值

但是,在使用自定义对话框时,您需要将要对返回值执行的任何操作的代码移动到
Ok
Cancel
的回调中

     buttons: {
            OK: function() {
                $(this).dialog('close');
                callback(true);

                //You know user clicked true, so do something here itself
            },  
            Cancel: function() {
                $(this).dialog('close');
                callback(false);

                //Similarly here
            }   

我不明白你的问题?从comfirn转换到jquery ui对话框需要什么?是的,我知道JS是异步的,我的问题是我使用的插件调用函数
menuItemClick
,然后提交或阻止表单提交。我不知道在不复制代码的情况下,如何处理这个。clickReturn=opts.menuItemClick.call(此选项);如果(单击返回){/*执行操作*/}