我正在尝试在包含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添加到数组中,但它不会将其附加到数组中,因此数组中的其他所有内容都将被删除,只留下数组中的一个条目。
有没有办法让数组数据持久化,所以每次我使用其中一个文件输入字段时它都会增长?
谢谢!
答案 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是“静态”