Javascript:如何保留持久数组数据

时间:2010-08-01 00:45:38

标签: javascript

我正在尝试在包含id列表的javascript中构建一个数组。这是我所拥有的函数的简化版本......

function updateCost(id) {
    var inputArray = [];
    inputArray.push(id);
}

这是html代码......

<input type="file" name="field1" id="field1" onchange="updateCost('1');" />
<input type="file" name="field2" id="field2" onchange="updateCost('2');" />
<input type="file" name="field3" id="field3" onchange="updateCost('3');" />
...

我想要发生的是,每次我使用我拥有的文件输入字段之一从计算机中选择文件时,我希望该输入字段的id存储在inputArray数组中。但是,每次我选择一个文件时,它都会将该id添加到数组中,但它不会将其附加到数组中,因此数组中的其他所有内容都将被删除,只留下数组中的一个条目。

有没有办法让数组数据持久化,所以每次我使用其中一个文件输入字段时它都会增长?

谢谢!

2 个答案:

答案 0 :(得分:4)

(function() {


   var inputArray = [];
   function updateCost(id) {
    inputArray.push(id);
   }


})();

在函数范围之外定义它。你真的不需要附带的anon函数,这只是我的个人风格。

答案 1 :(得分:0)

function updateCost(id) {
    if(typeof updateCost.inputArray=="undefined")updateCost.inputArray=[]
    updateCost.inputArray.push(id);
}

Make Array是“静态”