2009-12-14 193 views
3

是否可以向先前声明的对象添加新属性?下面是一些代码,以澄清(与uploadify 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(); 
     } 
    }); 

然后像做

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

我看到这个用的jqGrid做

+0

HTTP:/ /stackoverflow.com/questions/2037605/uploadify-updatesettings-problems/3840684#3840684 这个,真的很好..它适用于我 – Shailesh 2012-06-01 10:33:05

回答

6

我相信你正在寻找的是这样的:

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

您还可以通过留下的第二个参数关获得当前值:

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

尽管有上述争论,+1的备案;) – 2009-12-14 07:32:07

+0

@Justin LOL,哦。还在学习什么时候倒计时,何时回答和继续;) – 2009-12-14 07:35:04

1

是的,它是可以添加的属性(动态或其他)到现有的Javascript对象)。您可以使用[]运算符将动态属性添加到对象。例如:

var key = 'foo'; 
var obj = {param: 'value'}; 
obj[key] = 'bar'; 
alert(obj.foo); // bar 
+0

@Doug @cletus提供的信息是正确的,尽管一般。恕我直言,答案应该被拒绝,当他们是错误的,脱离主题,自我促进,或促进不良行为。 +1来抵消荒谬和其他荒谬。 @clearus在单独的注释中,除括号表示法外,点表示法也可用于在对象上创建新成员。 – 2009-12-14 04:50:47

+1

如果这是一个更合适的答案,通过一切方式投票。但是,从OP的问题来看,这个问题不是(现在还不清楚)问题是否是上传问题(或特定问题)还是一般问题(或两者)的动态属性问题。如果问题是uploadify()脚本,那么它很需要重新说明。下调可以回答这个问题的东西是(imho)灰色地带。 – cletus 2009-12-14 06:55:04

+0

对于我来说,看起来的清晰度肯定来自我之前使用过uploadify,并且知道有一个函数可以更新'scriptData'(在问题中拼写错误)。如果没有这样的背景,问题就不清楚了,而当我低估了你的答案时,我并没有这样看待它。没有别有用心的,我保证:) – 2009-12-14 07:19:16