获取父属性,这是一个来自钛的孩子的表

时间:2015-12-30 07:22:18

标签: javascript javascript-events titanium appcelerator-mobile

我有一个复选框作为按钮,并将其添加到表格的行视图中。如何使用复选框访问行索引。示例代码如下所示。 EmpList [i]我从另一个函数中得到它。

var createTablerow = function(){
var empSelectView = Ti.UI.createView({
     width : '30%',
     height : '100%',
     layout : 'vertical',
     id: EmpList[i].empID
 });

var typeCheckBox = Titanium.UI.createButton({
    backgroundImage: 'images/uncheck.png',
    id: EmpList[i].empID,
    checked:false,
    width: 25,
    height: 25,
    left: 5,
    right: 5,
    top:15
    });

  empSelectView.add(typeCheckBox);
  labelView.add(empSelectView);
  labelView.add(empNameView);
  rowView.add(labelView);

 typeCheckBox.addEventListener('click',function(e){
if (e.source.checked == true){
    e.source.image = 'images/uncheck.png';
    e.source.checked = false;
    var index = empDelList.indexOf(e.source.id);
    var selRowId = deleteIndexList.indexOf(e.index);
    if (index > -1) {
        empDelList.splice(index, 1);
        deleteIndexList.splice(selRowId, 1);
    }
} else {
    e.source.image = 'images/check.png';
    e.source.checked = true;
    empDelList.push(e.source.id);
    deleteIndexList.push(e.index);
        }
  });
}

如何访问typeCheckBox的监听器内的表的e.index,它是表行的子级。在deleteIndexList数组中我想推送所选的表索引。

1 个答案:

答案 0 :(得分:2)

我会向TableView添加一个click事件监听器(它为您提供index),然后查看事件的source属性以确定用户是否点击了该属性按钮。