Danke für eure Hilfe!!
Leider komme ich nicht so ganz zurecht. :-(
Vielleicht hilft es das ganze Konzept zu beschreiben. Ich dachte an folgende Funktionsweise:
1) Die erste Zeile wird farblich markiert und ist somit "aktiviert".
2) Mit der Pfeiltaste (oder Tab-Taste?) kann der User zur nächsten Zeile springen.
3) Drückt er die Leertaste, so wird die Checkbox aktiviert oder deaktiviert.
4) Beginnt der User zu tippen, so wird die Checkbox deaktiviert, der Cursor springt in das Textfeld und schreibt automatisch hier rein.
HTML:
<table><tr> <td>Bezeichnung 1</td> <td> <span><input type="checkbox" name="chk1" checked> keine</span> <textarea name="textfeld1"></textarea> </td></tr><tr> <td>Bezeichnung 2</td> <td> <span><input type="checkbox" name="chk2" checked> keine</span> <textarea name="textfeld2"></textarea></td></tr><tr> <td>Bezeichnung 3</td> <td> <span><input type="checkbox" name="chk3" checked> keine</span> <textarea name="textfeld3"></textarea></td></tr></table>
Mein Ansatz wäre dieser:
- Bei drücken der Tab-Taste wird der Fokus auf die erste Checkbox gesetzt und die zugehörige Zeile bekommt eine weitere Klasse zugeordnet (über CSS wird dann die Farbe geändert)
- Wird nun die Tab-Taste erneut gedrückt (oder die Pfeil nach unten Taste), so wird der Fokus auf die nächste Checkbox gesetzt und wieder die Klasse der aktuellen Zeile geändert. Dabei muss aber auch die alte Klasse wieder zurückgesetzt werden.
Die Umsetzung macht mir aber Schwierigkeiten:
document.onkeydown = function(event) {
if (event.keyCode == 9) {
$("#chk1").focus();
}
else {
$("#textfeld").focus();
}
}
Das funktioniert so natürlich noch nicht wirklich.
Wie setze ich es um, dass bei der Tab-Taste nur dann die erste Checkbox aktiviert wird, wenn noch gar keine Auswahl vorhanden ist und ansonsten die nächste aktiviert wird?
Zudem habe ich die Schwierigkeit, dass die ids der Checkboxen individuell sind, d.h. keine Zahlen als Bezeichnungen haben und ich somit nicht einfach nur hochzählen kann...