【问题标题】:Titanium: Set ID of a text field with titanium UITitanium:使用钛 UI 设置文本字段的 ID
【发布时间】:2015-04-28 12:32:25
【问题描述】:

我正在研究钛合金并从控制器创建视图。我有四个字段,我需要使用它们的 ID 设置值。请检查以下代码

var row = Ti.UI.createTableViewRow();

var first_name = Ti.UI.createTextField({
borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
color: 'black',
top: 10,
left: 10,
width: 250,
height: 60,
id:'first_name',
//value:data.first_name
});

row.add(first_name);

var tbl_data=[];
tbl_data.push(row);
var tbl= Ti.UI.createTableView({
data:tbl_data
});

$.home_view.add(tbl);

id:'first_name' 似乎不起作用,我还没有找到任何将 ID 分配给任何 UI 元素的示例。请指导

【问题讨论】:

  • 您要将值first_name 设置为文本字段中的值还是提示文本?
  • 我想使用 id 来设置字段的值,例如 $.first_name.value='some value'。其中文本字段的 first_name id
  • 没有。他们似乎没有 ID 的属性。
  • 如果您在控制器中创建,则只需使用first_name.value,不要使用$.first_name。您可以通过其变量名直接访问它。
  • 使用变量名设置值,例如 first_name.value = "some_value"。

标签: javascript android node.js titanium titanium-alloy


【解决方案1】:

您不能设置 ID。但是有两种选择

1:不要在控制器中进行输入,而是将其设置为单独的控制器(参见我的blogpost on reusable components

2:只要这样设置:

$.first_name = Ti.UI.createTextField({
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
    color: 'black',
    top: 10,
    left: 10,
    width: 250,
    height: 60
});

然后你可以稍后引用它,像这样:$.first_name.value;

您还可以为create 函数设置一个自定义属性(任何属性都可以正常工作)并使用事件识别它。像这样:

var field = Ti.UI.createTextField({
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
    color: 'black',
    top: 10,
    left: 10,
    width: 250,
    height: 60,
    textFieldId: 'first_name'
});
field.addEventListener('blur',function(e){
    var id = e.source.textFieldId;
});

【讨论】:

    猜你喜欢
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2020-09-14
    • 1970-01-01
    • 2016-06-17
    • 2011-08-28
    • 2023-03-31
    相关资源
    最近更新 更多