除非在调用数组填充函数后调用alert函数,否则数组将保持为空

时间:2013-02-18 18:13:48

标签: jquery

我的问题是,除非我添加一个,否则我的函数不会被处理 alert("random text");高于实际的函数调用;

以下是给我这个问题的部分:

var collection = [];
collection = methods.loadCollection.call($(this), options.url, options.dataType);
alert(collection.length);
alert(collection.length);
methods.initAutoComplete.call($(this), collection, $textBox, $autoComplete, autoCompleteIndex);

第一个警报将提醒给出collection.length = 0,然后第二个警报将给出collection.length =集合的实际长度; (该集合是一个数组)。 因此,在调用loadCollection以使代码工作之后,我必须至少调用一个警报。

methods.loadCollection中的代码是:

var collection = [];
if (dataType === "xml") {
    $.post(url, function (data) {
        $(data).find("terms").each(function () {
            $(this).find("term").each(function () {
                collection.push({
                    key: $(this).attr("key"),
                    value: $(this).attr("value")
                });
            });
        });
    }, "xml");
}

return collection;

非常感谢。

0 个答案:

没有答案