Titanium text字段存储为整数
Titanium textField stored as integer
我正在尝试存储对数组中几个文本字段的引用。当我试图访问数组的元素时,我得到了一些整数,而不是文本字段对象!我不明白为什么会发生这种事…
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
然而,当我字符串化整个数组时,我看到里面有textField,但我不知道如何访问它。这是一个数组,里面有两个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本身是一个数字…我如何访问我存储在数组中的元素?
您的for...in
错误。。。应该是:
for(var textfield in textfields) {
console.log("textfield : "+textfields[textfield]);
console.log("textfield : "+textfields[textfield].value);
}
for in
在textfield
中设置key
,而不是元素。
请查看此处的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in#Array_iteration_and_for...in
在钛中循环的更好方法(当使用合金时)是underscore
_.each(textfields, function(textfield){
console.log('textfield value:' + textfield.value);
}
请在循环中尝试forEach。请参阅以下代码。
textfields.forEach(function(textField){
console.log(textField.value);
});
相关文章:
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 由于某种原因,JavaScript整数存储为未定义
- 如何将 HTML 的本地存储设置为整数而不是字符串
- 使用 Javascript 在本地存储中存储大型整数数组的最有效方法
- HTML5本地存储与保存的整数和变量
- 如何/最好的方式创建一个2d数组来存储整数,JQuery/javascript
- Titanium text字段存储为整数
- 量角器计数元素并存储整数
- 将字符串分隔为整数,并存储总和和平均值
- 如何在Javascript中存储整数索引数据
- 存储一个整数javascript
- 是否可以将整数存储为JavaScript对象中的键
- 在JS中,快速存储XY坐标整数的最高性能方法是什么
- 如何在Javascript中存储大于2147483647的整数?
- 如何将IP地址存储为点表示,而不是整数表示(ip2long)
- 如果我只使用整数作为键,如何在本地存储中获得最后插入的键