在ListView模板中更改TextField上的事件

时间:2016-08-10 10:01:10

标签: listview events listener appcelerator listitem

我有一个ListView模板,它有标题标签,2个按钮视图(越来越少)和带有值的TextField,我需要向此TextField添加一个更改事件。

<ItemTemplate name="item" id="item" bindId="item">
    <View id="row" bindId="row">
        <Label bindId="title" id="title"/>
        <View id="options" bindId="options">
            <View class="option" bindId="less" id="less"/>
            <TextField bindId="input" id="input"/>
            <View class="option" bindId="more" id="more"/>
        </View>
    </View>
</ItemTemplate>

在更改事件中,我想添加一个验证来检查值是否为这样的数字:

$.input.value = parseFloat(($.input.value.toString().replace(/,/g, '.')).replace(/[a-zA-Z ,_$#%&()~ºª´`'+*:;]/g,''));

越来越多的按钮正在工作,它是一个简单的增量/减量,但是我无法将听众添加到输入中,我已尝试过这两种方式:

$.car.addEventListener('itemclick',function(list) {

    var row = $.car.sections[0].getItemAt(list.itemIndex);

    if(list.bindId == 'more') row.input.value++;
    if(list.bindId == 'less') row.input.value--;

    //tried this 1#: row.input.addEventListener('change',function() {});

    $.car.sections[0].updateItemAt(list.itemIndex,row);
});

//tried this 2#: $.input.addEventListener('change',function() {});

请注意,我只需要在单击行时使用侦听器,每次更改输入值或使用其中一个按钮时,我都知道ListItem的索引

1 个答案:

答案 0 :(得分:0)

我不知道这是否是最好的方法,但我会尝试创建一个隐藏的TextField,当我单击ListItem的TextField时,模糊隐藏的TextField,并在更改事件上它将更新ListItem的TextField具有相同的值