Я работаю с последней версией Tianium Appcelerator, и мой проект использует Alloy.
У меня есть TableView
с идентификатором: tblResults
В моем контроллере я заполняю это табличное представление такими строками:
// Dummy data
var results = [];
results.push({
title: 'Hello World',
value: '123456'
});
results.push({
title: 'Bye World',
value: '654321'
});
// Build result data
var resultData = [];
for (var i = 0; i < results.length; i++) {
resultData.push(createResultRow(
results[i].title,
results[i].value
));
}
// Method to create result row
function createResultRow(myTitle, myValue) {
var tableRow = Titanium.UI.createTableViewRow({
height: 160
id: 'row-'+ myValue
});
var tableRowView = Titanium.UI.createView({
layout: 'horizontal'
});
var myButton = Titanium.UI.createButton({
title: myTitle,
btnValue: myValue
});
myButton.addEventListener('click', function(e) {
handleButtonClick(e);
});
tableRowView.add(myButton);
tableRow.add(tableRowView);
return tableRow;
}
// Set table data
$.tblResults.setData(resultData);
// Method to handle button click
function handleButtonClick(e) {
if (e.source && e.source.btnValue) {
// how to select row having a id: 'row-'+ e.source.btnValue ???
}
}
Что это будет делать, так это генерировать фиктивный массив объектов. Затем, используя это, заполните представление таблицы строкой, в которой есть представление, внутри нее есть кнопка.
Чего я пытаюсь добиться, так это того, что при нажатии кнопки я хочу выбрать строку таблицы с таким идентификатором:
'row-'+ e.source.btnValue
в чистом стиле javascript/jquery DOM я бы сделал что-то вроде этого:
$('#row-'+ e.source.btnValue)
Как я могу добиться этого в Titanium Appcelerator? Есть ли какая-то функция селектора элементов, как в jQuery?