2011-03-16 126 views
0

我有一个包含两个函数的页面。函数编译一个数组并在完成时显示一个按钮。用户点击按钮,阵列被传递到函数B ...我只有的是函数A:在jQuery中将数组从一个函数传递到另一个函数

function createUploader(){ 
     var fileArray = new Array(); 
     var i = 0; 
     var running = 0; 
     var jList = $("#list"); 
      var uploader = new qq.FileUploader({ 
       element: document.getElementById('uploadDiv'), 
       listElement: document.getElementById('separate-list'), 
       action: './includes/ajaxUpload/upload.php', 
     sizeLimit: 10485760, 
     onSubmit: function(id, fileName){ 
      running++; 
     }, 
     onComplete: function(id, fileName, responseJSON){ 
      fileArray[i] = fileName; 
      i++; 
      running--; 
      if(running==0){ 
      $('#combineBtn').css("display",""); 
      $.fancybox.resize(); 
      $('#fancybox-content').width(290); 
      $('#fancybox-wrap').width(310); 
      $.fancybox.center 
      $('.qq-upload-button').width(290); 
      } 
     } 
      }); 
     } 

这甚至可能吗?什么是实现这一目标的最佳方式?

回答

2

只需在函数之外声明数组,并且它们都可以由它们访问。

var myarray = []; 
function foo(val) { 
    myarray.push(val); 
} 

function bar() { 
    alert (myarray); 
} 

延伸阅读: http://www.digital-web.com/articles/scope_in_javascript/

+0

谢谢,我不确定在函数中发生了什么变化,即使var是全局变量也是全局变量。 – jreed121 2011-03-16 19:28:56

1

当创建在功能上的按钮,你能不能做到以下几点:

function function_a() 
{ 
    var theArray = [1, 2, 3, 4]; 
    var theButton = $('<button>Click Me</button>'); 
    theButton.click(function() { function_b(theArray) }); 
} 

function function_b(myArray) 
{ 
    // Run function code here... 
} 
0

可序列化数组JSON,它保存的价值属性在隐藏字段中,并且当单击按钮时,读取函数B中隐藏的字段值并反序列化JSON。

相关问题