Titanium:无法通过单击按钮访问动态添加的 TextInput 的值

Titanium: Unable to access dynamically added TextInput's value on click of a button

index.xml

<Alloy>
    <Window class="container">
    </Window>
</Alloy>

index.js

function btnClickedHandler(e){
    alert(nameTi.text);
    alert($.index.nameTi);
}
function addContent(){
    var showBtn = Ti.UI.createButton({
        id: "showButton",
        title:"Show Text",
        top: 10,
    });
    var nameTi = Ti.UI.createTextField({
        id:"displayText",
        textFieldId: 'displayText',
        width: 50
    });
    showBtn.addEventListener("click", btnClickedHandler);
    $.index.add(nameTi);
    $.index.add(showBtn);
}
$.index.open();
addContent();

有关访问动态添加的文本输入的任何建议。一种方法肯定是将实例存储在全局变量中。但是可以使用像 $("#instanceId")

这样的 id 来完成

试试这个:

function addContent(){
    var showBtn = Ti.UI.createButton({
        id: "showButton",
        title:"Show Text",
        top: 10,
    });
    var nameTi = Ti.UI.createTextField({
        id:"displayText",
        textFieldId: 'displayText',
        width: 50
    });
    showBtn.addEventListener("click", function(){
    alert(nameTi.text);
    alert($.index.nameTi);
   }
});
    $.index.add(nameTi);
    $.index.add(showBtn);
}
$.index.open();
addContent();