关于文本框的钛change事件问题 [英] Issue regarding the change event of textfield in titanium

查看:119
本文介绍了关于文本框的钛change事件问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的code

for(var i=0; i<3; i++){
var newTF = Ti.UI.createTextField({
    top : 20,
    hintText : "new text field under "+(i+1)+" text field"
    width : '100%',
    id:args.obj.fields[i].id
});

   $.textFieldView1.add(newTF);
 }

  newTF.addEventListener('change',function(e){
    if(e.source.getValue=='entered value'){
      //do something
    }
    else{
      //do something
    }
});

现在该我面临的问题是我得到最后创建文本框(即最后创建文本框的ID)。所以我不能够改变触发像previous上previously创建textfields.Its任何改变文本框的ID是由最新一期重叠。

Now the problem which I am facing is I am getting the last created textfield(i.e id of last created textfield).So I am not able change trigger any changes on previously created textfields.Its like previous id of textfield is overlapped by latest one.

任何人都可以在这方面的帮助?
在此先感谢

Can anyone help on this? Thanks in advance

推荐答案

试试这个:

var newTF = [];
    for (var i = 0; i < 3; i++) {
        newTF[i] = Ti.UI.createTextField({
            //top : 20,
            hintText : "new text field under " + (i + 1) + " text field",
            width : '100%',
            id :i+1,
        });
        //newTF[i].addEventListener('');
        newTF[i].addEventListener('change', function(e) {
            Ti.API.info('e is'+JSON.stringify(e));
         if (e.source.getValue == 'entered value') {
                // //do something
         } else {
                // //do something
         }
        });
        $.laynout.add(newTF[i]);
    }

这篇关于关于文本框的钛change事件问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆