2014-08-27 5 views
2

Кто-нибудь знает, как это исправить. У меня есть этот код, чтобы показать bootbox.confirm при удалении файла, но он не работает.Bootbox Подтверждение не работает

методы
$('#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(); 
      }); 
     } 
    } 
} 
}); 
+1

'bootbox.confirm' асинхронный метод - вам нужно использовать функцию обратного вызова для обработки его результатов. – CBroe

+0

Вы проверили консоль на наличие сообщений об ошибках? – Cfreak

+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(); 
     }); 
    } 
} 
+0

Спасибо, я использовал код CemOzer. –

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(); 
       }); 
      } 
     } 
    }); 
} 
}); 
+0

Ahh, я почти получил его, большое вам спасибо за вашу помощь. –

+0

Одна вещь, хотя, если я проверяю много файлов и нажимаю OK в bootbox.confirm, будет отображаться подтверждение для каждого файла. Есть ли способ удалить многопользовательские файлы с одним щелчком OK? Спасибо. –

+0

Я не могу сказать много, не имея всего кода, связанного с этим или вашим дизайном. Вы можете использовать флажки для файлов, а затем удалить проверенные на подтверждение. –

Смежные вопросы