引导盒回调不能正常工作

Bootbox callback not working properly

本文关键字:工作 常工作 回调 不能      更新时间:2023-09-26

我正在尝试使用这个:

 $('#delete').live('click',function(){
                var result;
                bootbox.confirm("Are you sure?", function(response){
                        result=response;
                });
                alert(result);
                return result;
            });

但是当按钮被点击时:

警报首先显示,只有在bootbox显示确认对话框之后。

我想返回响应,但如果我从回调内做它不工作,因为它从回调返回响应,而不是$('#devicedelete').live('click',function(){});

顺便说一句,我正试图提交一个基于响应的表单。因此,如果我返回'true',表单将被提交,否则如果它返回'false',表单将不会被提交。

请检查:http://pastebin.com/9H3mxE9Y

我有一个大表,每一行都有复选框,用户选择复选框,点击任何按钮"删除","复制"等,表单应该提交。

谢谢

对话框是异步的,您可以立即阻止默认操作,然后在用户接受时调用提交。下面是一个例子:http://jsfiddle.net/ty5Wc/3/

$('#delete').on('click', function (e) {
    e.preventDefault();
    bootbox.confirm("Are you sure?", function (response) {        
        if(response) {
            $('#form').submit();
        }
    });
});
$('#form').submit(function () {
    //do your validation or whatever you need to do before submit
});

编辑:在与OP交谈更多之后,他还想在查询字符串中传递按钮值,我的解决方案是在这里:http://jsfiddle.net/ty5Wc/5/

$('#delete').on('click', function (e, confirmed) {
    if (!confirmed) {
        e.preventDefault();
        bootbox.confirm("Are you sure?", function (response) {
            if (response) {
                $('#delete').trigger('click', true);
            }
        });
    }
});
$('#form').submit(function (e) {
    //do your validation or whatever you need to do before submit
});