Pregunta

Es posible añadir una nueva propiedad a un objeto previamente declarado? Aquí hay un código para aclarar (con el plugin jQuery uploadify):

$('#featuredimageupload').uploadify({
        'uploader' : base_url + 'media/js/uploadify.swf',
        'script': base_url + 'post/uploadflash',
        'multi' : true,
        'queueID' : 'queue',
        'cancelImg' : base_url + '/media/images/cancel.png',
        'fileDesc' : 'Allowed Types: (*.jpg,*.png,*.gif)',
        'fileExt' : '*.jpg;*.JPG;*.gif;*.GIF;*.png;*.PNG',
        'queueSizeLimit' : 9,
        'sizeLimit': 1000000,
        'method' : 'GET',
        'buttonText' : 'Browse',
        'onComplete' : function(event, queue, obj, response, data){
            if(response =='false'){
                alert('Maximum number of images reached!');
                $('#uploader').uploadifyClearQueue();
                return false;
            }
        },
        'onError' : function(event,queue,file,error){
            alert('An error occured. No files were uploaded');
            $('#uploader').uploadifyClearQueue();
        }
    });

luego hacer algo como

$('#form').submit(function(){
   $('#featuredimageupload').uploadify({scripData : data})
})

vi este hecho con jqGrid

¿Fue útil?

Solución

Creo que lo que busca es la siguiente:

$("#form").submit(function(){
    var $upload = $("#featuredimageupload");
    $upload.uploadifySettings('scriptData', { key : value });
    $upload.uploadifyUpload(); // Triggers the upload to start.
});

También puede obtener el valor actual al dejar fuera el segundo parámetro:

var currentSetting = $upload.uploadifySettings('scriptData');

Otros consejos

Sí, es posible añadir propiedades dinámicas (o no) a un objeto Javascript existente). Usted sólo puede usar el operador [] añadir una propiedad dinámica a un objeto. Por ejemplo:

var key = 'foo';
var obj = {param: 'value'};
obj[key] = 'bar';
alert(obj.foo); // bar
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top