Reputation: 8091
is it possible to add a new property to a previously declared object? Here is some code to clarify (with the uploadify jquery plugin):
$('#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();
}
});
then do something like
$('#form').submit(function(){
$('#featuredimageupload').uploadify({scripData : data})
})
I saw this done with jqgrid
Upvotes: 3
Views: 6864
Reputation: 625087
Yes it is possible to add properties (dynamic or otherwise) to an existing Javascript object). You can just use the []
operator to add a dynamic property to an object. For example:
var key = 'foo';
var obj = {param: 'value'};
obj[key] = 'bar';
alert(obj.foo); // bar
Upvotes: 1
Reputation: 66191
I believe what you are looking for is this:
$("#form").submit(function(){
var $upload = $("#featuredimageupload");
$upload.uploadifySettings('scriptData', { key : value });
$upload.uploadifyUpload(); // Triggers the upload to start.
});
You can also get the current value by leaving the second parameter off:
var currentSetting = $upload.uploadifySettings('scriptData');
Upvotes: 6