Я пытаюсь сохранить ссылки на несколько текстовых полей в массиве. Когда я пытаюсь получить доступ к элементам массива, я получаю целые числа вместо объектов текстового поля! Я не могу понять, почему это происходит ...Titanium textField хранится как целое
var textfields = [];
function doClick(e) {
var txtField = Ti.UI.createTextField({
value:"test"
});
textfields.push(txtField);
$.index.add(txtField);
for(var textfield in textfields) {
console.log("stored value : "+textfield);
}
}
$.index.open();
выхода после трех «щелчков»:
[INFO] : ---click---
[INFO] : stored value : 0
[INFO] : ---click---
[INFO] : stored value : 0
[INFO] : stored value : 1
[INFO] : ---click---
[INFO] : stored value : 0
[INFO] : stored value : 1
[INFO] : stored value : 2
Когда я stringify весь массив, однако, я вижу TextField внутри, но я не» t знать, как получить к нему доступ. Вот массив с двумя TextFields внутри:
[
{
"enabled":true,
"selection":{
"length":0,
"location":0
},
"backgroundRepeat":false,
"children":[
],
"rect":{
"height":45,
"y":61,
"x":137,
"width":47
},
"value":"voilà",
"visible":true,
"size":{
"height":45,
"y":0,
"width":47,
"x":0
},
"keepScreenOn":false,
"apiName":"Ti.UI.TextField",
"maxLength":-1,
"bubbleParent":true
},
{
"enabled":true,
"selection":{
"length":0,
"location":0
},
"backgroundRepeat":false,
"children":[
],
"rect":{
"height":45,
"y":107,
"x":137,
"width":47
},
"value":"voilà",
"visible":true,
"size":{
"height":45,
"y":0,
"width":47,
"x":0
},
"keepScreenOn":false,
"apiName":"Ti.UI.TextField",
"maxLength":-1,
"bubbleParent":true
}
]
Из того, что я понимаю, textfield.value должен работать, но она возвращает «неопределенный», так как сам TextField это число ... Как я могу получить доступ к элементам I, хранящиеся в массив?
Попробуйте вызвать TextField [ «значение»] –
Это также не определено, но спасибо за попытку. – midemarc
вы не должны стягивать текстовые поля! Просто прокрутите их и извлеките значение –