Issue regarding the change event of textfield in titanium

橙三吉。 提交于 2019-12-22 13:05:31

问题


I have the following 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
    }
});

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


回答1:


Try this:

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]);
    }


来源:https://stackoverflow.com/questions/29554108/issue-regarding-the-change-event-of-textfield-in-titanium

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!