2011-01-28 3 views
1

J'ai un problème ici. Im en utilisant l'uploader de fichier de Valum, et je veux inclure un param. Ce param est albumID, aID, qui devrait avoir la valeur de l'album que vous avez sélectionné. Bien que le javascript, qui fait le bouton et où vous faites les réglages, s'exécute à document.ready. Et à cause de cela, il lance l'albumPicker.val() immédiatement, et définit donc l'albumPicker du début à "1" (premier album dans le <select> j'ai 1) et même si vous choisissez un autre et télécharger un fichier, il ne prendra pas le changé.JS: Comment faire le val() en temps réel

Voici le code:

$(document).ready(function(){  
      var album = $('#albumPicker').val() 
     var uploader = new qq.FileUploader({ 
      element: document.getElementById('file-uploader-demo1'), 
      action: 'php.php', 
       allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], 
      debug: true, 
       params: { 
       aID : $('#albumPicker').val() 
       }, 
       onComplete: function(id, fileName, responseJSON){ 
        if(responseJSON.success){ 
        $('#'+$('#albumPicker').val()).attr('src', [responseJSON.path].join('')); 
        } 
       }, 
     });   
    }); 

Bien que le onComplete où il remplace une image, fonctionne très bien avec le albumPicker.val(), parce que d'abord quand le transférer son contrôle terminé le fichier pour le val() .

Que puis-je faire à ce sujet? Comment puis-je resoudre ceci?

+0

Juste un FYI: '$ (function() {});' est fonctionnellement équivalent à '$ (document) .ready (function() {});' – treeface

Répondre

0

Pour changer params fonction de l'état de votre application, utilisez

uploader.setParams({ 
    anotherParam: 'value' 
}); 

Donc uploadButton.click écraser tout le paramètre avec sa valeur en temps réel. Si ce n'est pas possible accrocher juste dans

onSubmit: function(id, fileName){},

vous pourriez encore être en mesure de modifier les paramètres en fonction des valeurs en temps réel sur soumettre. Bonne chance.