function createTextFields(obj) {
for (var i = 0; i < obj.length; i++) {
var dataDump = {};
for (var key in obj[i]) {
var textField = Ti.UI.createTextField(pm.combine($$.labelBrown, {
left: 200,
height:35,
value:obj[i][key],
width:550,
keyboardType:Ti.UI.KEYBOARD_NUMBER_PAD,
layout:'horizontal',
backgroundColor:'transparent',
id:i
}));
dataDump[key] = textField.value;
var callback = function (vbKey) {
return function (e) {
dataDump[vbKey] = e.source.value;
};
}(key);
}
globalData.push(dataDump);
}
}
我正在使用模拟代码来添加数据,它工作正常。昨天我的问题,它得到了解决......更新只发生在最后一行,而不是第一个
Last Object is always getting updated?
现在,当我去编辑页面,它让我看到四个文本字段或添加的文本字段数......现在,当我编辑的东西,点击保存...值更新的第四个或最后一个TextFields对象...
如果将所有的'var'声明移动到函数的顶部,你仍然有问题吗?因此,创建函数的第一行'var i,dataDump,key,callback;'并在整个函数中删除所有'var'关键字? – DaveRandom
您正在定义'callback'并为其分配一个函数,但是您没有在任何地方使用该变量,或者我在这里丢失了什么? – nobody
@DaveRandom:它没有解决问题,数据再次被保存到最后一个对象... –