从钛获取所有textFields值

时间:2016-07-04 08:59:32

标签: titanium appcelerator-titanium appcelerator-mobile

我从一个对象:

动态创建了textFields
var fields = [{field:'telephone', hint:'Telephone'},{field:email, hint:'Email} ... ];

并创建字段:

 _.each(fields, function(item){
    var field = Ti.UI.createTextField({
        id : item.field,
        hintText : item.hint,
    });
    $.form.add(field)

})

我创建了一个按钮:

var button = Ti.UI.createButton({
    title : 'Send All'
});
$.form.add(button)

现在我想在点击按钮时将所有textFields值存储到Global对象。

var output = [];
$.button.addEventListener(function(){
    /* I want to loop to each created textFields above and get value from id */
    _.each(fields, function(item){
        output.push(item.value);
    });
    Alloy.Globals.form = output;
});

但这不起作用,我点击按钮时无法获取已创建字段的值。 你知道如何处理这个吗?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用儿童属性

来获取它

e.g

$.button.addEventListener(function(){
    _.each($.form.children, function(item){
       if(item.apiName == "Ti.UI.TextField"){   
        output.push(item.value);
      }
});
Alloy.Globals.form = output;
});