I have a checkbox as a button and have added it to table's row view. How to access the row index by using the checkbox. Sample code is like below. The EmpList[i]
I get it from another function.
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);
}
});
}
How to access e.index
of the table inside the listener of typeCheckBox
which is a child of the table row. In the deleteIndexList
Array I want to push the table index that are selected.
I'd add an click event listener to the TableView (which gives you the index
) and then look at the source
property of the event to determine if the user tapped on the button.