Ich versuche, meine td
Farbe zu ändern, wenn der Benutzer auf die td
selbst oder das Kontrollkästchen klickt.Verwenden von JQuery zum Ändern von CSS von td auf td klicken oder Kontrollkästchen klicken
Jetzt, wenn der Benutzer auf td
klickt die css ändern und das Kontrollkästchen wird aktivieren/deaktivieren.
Aber wenn das Kontrollkästchen angeklickt, ändert sich nichts. zusätzlich, wenn die Seite aktualisiert wird, sind die Checkboxen aktiviert, aber das CSS ist weg.
Was mache ich falsch?
<table>
<tr><td><input type="checkbox" name="my-group[]" value="1">A</td></tr>
<tr><td><input type="checkbox" name="my-group[]" value="2">B</td></tr>
<tr><td><input type="checkbox" name="my-group[]" value="3">C</td></tr>
<tr><td><input type="checkbox" name="my-group[]" value="4">D</td></tr>
</table>
<script>
var chosen = {'background-color': '#9F1313', 'color': '#fff'};
var unchosen = {'background-color': 'transparent', 'color': '#000'};
$('td').click(function (event) {
if (!$(event.target).is('input')) {
$('input:checkbox', this).prop('checked', function (i, value) {
highlight(this, $(this).closest('td'));
return !value;
});
}
});
function highlight(cb, cell) {
if (cb.checked) {
$(cell).css(unchosen);
} else {
$(cell).css(chosen);
}
}
</script>
Mögliche Duplikat [jQuery td Onclick eine Checkbox zu setzen, keine Blasenbildung] (https://stackoverflow.com/questions/6513129/jquery-td-onclick-to-set-a-checkbox-no- sprudelnd) –