Bootbox确认不起作用

时间:2014-08-27 14:44:37

标签: javascript jquery

任何人都知道如何解决这个问题。我有这个代码在删除文件时显示bootbox.confirm,但它不起作用。

$('#fileupload').fileupload({
destroy: function (e, data) {
   var that = $(this).data('fileupload');  
      if (bootbox.confirm("Delete this file(s) ?") == true ) {
        if (data.url) {
            $.ajax(data)
                .success(function () {
                      $(this).fadeOut(function () {
                        $(this).remove();
                    });
                });
        } else {
           data.context.fadeOut(function () {
             $(this).remove();
           });
        }
    }
}
});

2 个答案:

答案 0 :(得分:1)

Bootbox方法不像本机方法那样工作:

bootbox.confirm("Delete this file(s) ?", function(answer) {
    if (!answer) return; // User said "no"

    if (data.url) {
        $.ajax(data)
            .success(function () {
                  $(this).fadeOut(function () {
                    $(this).remove();
                });
            });
    } else {
       data.context.fadeOut(function () {
         $(this).remove();
       });
    }
}

答案 1 :(得分:1)

您必须使用回调才能确定用户对确认和提示对话框的响应。 这是确认的签名:bootbox.confirm(message, callback)

您的代码应该是这样的

$('#fileupload').fileupload({
destroy: function (e, data) {
   var that = $(this).data('fileupload');  
      bootbox.confirm("Delete this file(s) ?", function(result) {
        if(result == true){
            if (data.url) {
                $.ajax(data)
                    .success(function () {
                          $(this).fadeOut(function () {
                            $(this).remove();
                        });
                    });
            } else {
               data.context.fadeOut(function () {
                 $(this).remove();
               });
            }
        }
    });
}
});