2015-10-21 3 views
1

Я пытаюсь удалить Jupery fileupload, пока пользователь не загрузит модальное всплывающее окно Bootbox.JQuery File File Delete File Programmatically

Я попытался поймать fileuploaddestroy и запустить e.preventDefault(), который работает для предотвращения удаления. Но как я могу вызвать удаление, как только пользователь нажмет OK? У меня есть объект данных с URL-адресом удаления от обработки события.

Я попытался вызвать функцию destroy напрямую, но он не работает. параметр «тот», похоже, не инициализируется должным образом. Кроме того, поскольку событие было предотвратить дефолт, я создал новое событие ..

var ev = jQuery.Event("click"); 
    $('#fileupload').fileupload('option').destroy(ev, data); 

я получаю

jquery.fileupload-ui.js:399 Uncaught TypeError: Cannot read property 'options' of undefined 
+0

Вы когда-нибудь находите решение проблемы? Я ищу способ сделать то же самое. –

+0

Извините, еще не поняли дорогу. Я хочу, чтобы кто-то из команды JQuery Fileupload ответил. Я просмотрел их код, чтобы попытаться выяснить какой-то способ, но я понятия не имею, почему я не могу сразу вызвать .destroy(). – otterslide

+0

Нет проблем. Я, наконец, решил спрятать кнопку удаления с помощью css и создать кнопку, которая запускает bootstrap modal и устанавливает значение скрытого ввода с именем файла. Когда кто-то нажимает кнопку accept в модальном режиме, я запускаю событие click на скрытой кнопке загрузки файлов, где имя файла совпадает с именем в скрытом входе. Это не очень элегантный, но он работает. –

ответ

3

Вот пример того, как сделать это в предположении, myAsyncConfirm приведен подтверждение библиотека асинхронной, что будет вызывать переданная функция при подтверждении.

$('#fileupload').bind('fileuploaddestroy', function (e, data) { 
    myAsyncConfirm(
    'Are you sure you want to delete file?', 
    function() { 
     $('#fileupload').fileupload('option', 'destroy').call($('#fileupload'), $.Event('destroy'), data); 
    }); 
    return false; 
}); 
+0

Спасибо, он работает. – otterslide