1

更新 1:我已经完成了回调函数。 这是我的解决方案。我只是在打开对话框 2 时添加了一个回调函数,并添加了一个隐藏元素来接收对话框 2 中的用户更改。现在一切都完成了。谢谢!

http://jsfiddle.net/N6qbR/2/

--------老问题----

我的英语很差,所以我写得很轻松。

我正在使用 Jquery Dialog,我想显示多个对话框。(对话框 1 打开对话框 2 打开对话框 3...)

但问题是当我打开 dialog1 然后打开 dialog2(确认对话框,以便用户可以在 dialog2 中选择是/否并将值返回给 dialog1)。

我知道 Javascript 是异步的,所以当用户打开对话框 1 并单击打开对话框 2 时,它不会等待对话框 2 中的事件完成。

这是我的源代码(简单逻辑)

$("#dialogForm").dialog({           
        autoOpen: false,
        height: height,
        width: width,
        modal: true,        
        close: function() // Hàm này được gọi tự động khi đóng dialog
        {           
            //abc();
            // Sau khi thêm mới thành công thì reset lại form
            resetForm();
            $("#dialogForm").dialog( "close" );
        },          
        buttons: {
            "Ok": function() {              
                var choose = showDialogConfirm(250, 200, "Bạn có đồng ý thêm?", test);      
                if(choose == true)
                {
                    // do some good
                }

            },
            "Cancel": function() {
                $("#dialogForm").dialog("close");
            }
        }
    }); 


    $("#dialogForm").dialog("open");

function showDialogConfirm(width, height, message)
{
    $("#dialogConfirm").toggle();           
    $("#dialogConfirm").dialog({            
        autoOpen: false,
        height: height,
        width: width,
        modal: true,        
        close: function() // Hàm này được gọi tự động khi đóng dialog
        {           
            $("#dialogConfirm").dialog( "close" );
        },          
        buttons: {
            "Yes": function() {         
                return true;
                $("#dialogConfirm").dialog("close");
            },
            "No": function() {
                return false;
                $("#dialogConfirm").dialog("close");                    
            }
        }
    });

    $("#dialogConfirmContent").html(message);   
    $("#dialogConfirm") 
        .dialog("open");
}
4

1 回答 1

0

绝对应该在对话框中编写代码callback functions。在dialog1你刚刚弹出dialog2并因为它是确认对话框中,所以它应该是模型对话框并且你将代码绑定到OK button,然后你可以get“正确”的结果。showconfirmdialog通过添加新参数来更改: callbackfunction

于 2013-02-02T04:28:09.490 回答