Передача массива из одной функции в другую в jQuery - PullRequest
0 голосов
/ 16 марта 2011

У меня есть страница с двумя функциями.Функция 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);
            }
        }
            });
        }

Возможно ли это?Каков наилучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 16 марта 2011

Просто объявите массив вне функций, и они могут получить к ним доступ.

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

function bar() {
   alert (myarray);
}

Дальнейшее чтение: http://www.digital -web.com / статьи / scope_in_javascript /

1 голос
/ 16 марта 2011

При создании кнопки в функции 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...
}
0 голосов
/ 16 марта 2011

Вы можете сериализовать массив в json, сохранить его в атрибуте value в скрытом поле, а при нажатии кнопки прочитать скрытое поле в функции B и десериализовать JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...