checkbox in anderem onclick-Bereich
tommy
- javascript
0 Cheatah
Hallo,
ich würde gerne mal fragen, ob hier jemandem eine gute Umbaulösung für folgendes Dilemma einfallen würde:
Ich habe eine php-Anwendung, die mir Datensätze aus einer Datenbank in je eine Tabellenzeile packt. Jede Zeile hat in der ersten Zelle eine checkbox zum Auswählen mehrerer Datensätze (für Export, löschen, etc...). Zusätzlich liegt auf der ganzen >Zeile< ein onclick, der mir beim Anklicken des Datensatzes im Frame daneben den kompletten Datensatz zur Ansicht/Bearbeiten zeigt.
Das sieht bei mir im Moment so aus:
tr.data { background-color: #eeeeff; text-align: center; cursor: pointer;}
tr.data:hover{ background-color: #ffaaaa;}
<table>
<tr><th><input type="checkbox" onClick="check_all(...);"></th><th>Vorname</th><th>Nachname</th><th>M/W</th><th>Sonstiges</th></tr>
<tr class="data" onClick="edit(this);"><td style="padding: 0px;"><input type="checkbox" name="dataid[]" value="1"></td><td>erster Vorname</td><td>erster Nachname</td><td>M</td><td>blabla</td></tr>
...
</table>
Wie man evt. schon sieht, löst ein "Auswählen" des Datensatzes auch zugleich ein edit() aus. Hat jemand eine Idee, wie man das elegant entschärfen könnte, so dass nicht bei jedem Checkbox-Event die komplette Seite für den Datensatz geladen wird?
Auf meiner Suche habe ich von event.stopPropagation() und event.cancelBubble
[Archiv] gelesen, finde ich aber nicht so toll gelöst, da ich möglichst weite Kompatibilität auch für spätere Browser ohne Tricks bräuchte.
Was ich auch noch hatte: der Checkbox einen onmouseover geben, der das edit kurzfristig abschaltet, ist aber auch wieder getrickst.
Frage deshalb: kann ich mit einem kleinen HTML-Umbau was erreichen, ohne die Struktur ganz zu verändern?
Danke schonmal,
tommy
Hi,
Auf meiner Suche habe ich von
event.stopPropagation() und event.cancelBubble
[Archiv] gelesen, finde ich aber nicht so toll gelöst, da ich möglichst weite Kompatibilität auch für spätere Browser ohne Tricks bräuchte.
die eine der Varianten bietet exakt dies. Die andere ist aufgrund der Abwärtskompatibilität zu aussterbenden, infantilen Browsern *noch* nötig.
Cheatah