Я все еще новичок в JavaScript, поэтому извиняюсь, если что-то из этого неясно:
Я динамически создал таблицу в JS и добавил обработчик кликов для каждой строки, что работает нормально. Но я хочу, чтобы этот щелчок изменил некоторые элементы в отдельном контейнере, который я получил в HTML - то есть, если вы нажмете на 1-ую строку таблицы, это изменит текст, чтобы показать больше деталей о том, что находится в этой строке.
Я пытаюсь понять, как получить его, чтобы щелчок по каждой строке изменил его на детали для этой строки (т. Е. Нажмите на строку 2, и она изменится на детали для строки 2, нажмите на строку 5 и изменения в деталях для строки 5 и т. д.).
У меня есть настроенная функция - loadDetails (num), где параметр num должен быть номером строки (например, если я вызову loadDetails (0), он вернет детали для 1-й строки). В общем, я хочу создать что-то, чтобы для каждой строки она вызывала эту функцию с правильным номером в качестве параметра. Любая помощь будет принята с благодарностью?
function myFunction() {
var rows = document.getElementsByTagName("tr");
for (var i = 0; i < rows.length; i++){
//code in here?
//then call the loadDetails() function?
}
//or call the loadDetails() function here?
}
Редактировать: вот код для создания таблицы - это в основном создание таблицы с тремя столбцами и получение ее данных из массива JSON (tableOne). Итак, третья строка - это то, где я борюсь - я не уверен, как назначить идентификатор для tr, чтобы он был уникальным каждый раз, когда он повторяется?
for (var i = 0; i < tableOne.length; i++) {
var row1 = document.createElement("tr");
row1.id = "row" + i;
row1.addEventListener("click", loadSelected, false);
var cell1 = document.createElement("td");
cell1.innerHTML = tableOne[i].firstName;
var cell2 = document.createElement("td");
cell2.innerHTML = tableOne[i].lastName;
var cell3 = document.createElement("td");
cell3.innerHTML = tableOne[i].age;
row1.appendChild(cell1);
row1.appendChild(cell2);
row1.appendChild(cell3);
tbody.appendChild(row1);
table.appendChild(row1);
}