2009-12-14 304 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