我有一个包含两个功能的页面。功能A编译数组并在完成后显示按钮。用户单击该按钮,数组将传递到功能B ...我只有功能A:
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);
}
}
});
}
这甚至可能吗?什么是实现这一目标的最佳方式?
答案 0 :(得分:2)
只需在函数外部声明数组,它们都可以访问它们。
var myarray = [];
function foo(val) {
myarray.push(val);
}
function bar() {
alert (myarray);
}
进一步阅读: http://www.digital-web.com/articles/scope_in_javascript/
答案 1 :(得分:1)
在功能A中创建按钮时,您是否可以执行以下操作:
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...
}
答案 2 :(得分:0)
您可以将数组序列化为json,将其保存在隐藏字段的value属性中,单击按钮时读取函数B中的隐藏字段值并反序列化JSON。