So etwas ist eine Standardaufgabe, die relativ häufig vorkommt.
Statte deine Tabelle so mit Klassen aus:
<tr>
<td class="faktor">1</td>
<td class="eingabe"><input></td>
<td class="ausgabe"></td>
</tr>
<tr>
<td class="faktor">2</td>
<td class="eingabe"><input></td>
<td class="ausgabe"></td>
</tr>
<tr>
<td class="faktor">3</td>
<td class="eingabe"><input></td>
<td class="ausgabe"></td>
</tr>
Alles anzeigen
Und setze dieses Javascript an das Ende des Body, vor das schließende </body>:
<script>
// Eventlistener für input-Event irgendwo auf der
// Seite registrieren:
document.addEventListener('input', event => {
// Handelt es sich um das Eingabefeld in der Tabelle?
if (event.target.matches('td.eingabe input')) {
const
// Ausgehend vom Eingabefeld die Zeile
// in der Tabelle ermitteln:
row = event.target.closest('tr'),
// Den Faktor ermitteln:
faktor = row.querySelector('td.faktor').textContent,
// Die Tabellenzelle für die Ausgabe ermitteln:
ausgabe = row.querySelector('td.ausgabe'),
// Den eingegebenen Wert bereit stellen:
eingabe = event.target.value,
// Das Ergebnis berechnen:
ergebnis = eingabe * faktor;
// Das Ergebnis in die Tabellenzelle eintragen:
ausgabe.textContent = ergebnis;
}
});
</script>
Alles anzeigen