2015-08-13 3 views
0

инициализирую Uploadify, используя следующий код:Как изменить настройки с Uploadify после контроля уже создан

$('#file1').uploadifive({ 
    'buttonClass': 'upload-btn', 
    'uploadScript': '/Upload/', 
    'fileObjName': 'files', 
    'fileType': 'text/xml', 
    'formData': { 'uploadType': 'Crew' }, 
    'onUploadComplete': function(file, data) { 
     var results = $.parseJSON(data); 
     if (results.error) { 
     var info = file.queueItem.find('span.fileinfo'); 
     if (info) info.text(' - ' + results.error); 
     return; 
     } 

     window.location.href = '@Url.Content("~/Upload/Checkdata/")' + results.id; 
    } 
}); 

Это работает, однако мне нужно изменить formData свойства при изменении радио флажка. Итак, я попытался это:

$('input[name=UploadType]:radio').change(function() { 
    $('#file1').uploadifive({ 'formData': this.value }); 
}); 

Однако, при запуске этого кода, он нарушает контроль Uploadify (теперь уже не загрузки в любом месте). Я предполагаю, потому что он полностью повторно инициализирует элемент управления со всеми новыми настройками.

Как я могу обновить только эту настройку? Я прочитал документы Uploadify, и никто из них ничего не говорит об обновлении настроек; просто инициализация и вызов методов. Благодаря!

ответ

0

Я выяснил одно решение, но не уверен, что это правильный способ сделать что-то (то есть он может сломаться в будущих версиях Uploadify).

В принципе, в этом случае вы можете сохранить ссылку на конфигурацию вокруг и обновления, опротестовать в любое время:

var uploadifySettings = { 
    'buttonClass': 'upload-btn', 
    'uploadScript': '/Upload/', 
    'fileObjName': 'files', 
    'fileType': 'text/xml', 
    'formData': { 'uploadType': 'Crew' }, 
    'onUploadComplete': function(file, data) { 
     var results = $.parseJSON(data); 
     if (results.error) { 
     var info = file.queueItem.find('span.fileinfo'); 
     if (info) info.text(' - ' + results.error); 
     return; 
     } 

     window.location.href = '@Url.Content("~/Upload/Checkdata/")' + results.id; 
    } 
} 

$('input[name=UploadType]:radio').change(function() { 
    uploadifySettings.formData.uploadType = this.value; 
}); 

$('#file1').uploadifive(uploadifySettings); 
Смежные вопросы