JQuery - Entfernen der Klasse auf geprüften / ungeprüften Optionsfeldern
Frage
Es ist 5 Stunden her, seit ich mit diesem kämpfte, ich suchte nach oben und hinunter.Ich versuche, den Tabellenzellenhintergrund zu ändern, der ein überprüftes Radio enthält. Ich schaffe es, den Hintergrundklasse hinzuzufügen, aber ich kann den Hintergrund nicht entfernen, wenn nicht geprüft wird.
Hier ist der Code, den ich verwende:
Jedenfalls, um die Hintergrundklasse nach dem Funkgerät zu entfernen, ist nicht geprüft?Ich habe es nicht geschafft, es zu tun. Danke!
Lösung
$("td input:not(:checked)")
binds the event only to unchecked elements.
Bind it to all td input
elements and use this.checked
inside the callback to access the checked state.
Here's an example: http://jsfiddle.net/ceWbW/5/
$("td input").change(function () {
var $this = $(this);
var td = $this.parent();
// un-green all columns which contain a radio element from the same group
td.siblings().filter(function() {
return !!$(this).find('input[name="'+$this.attr('name')+'"]:radio').length;
}).removeClass('green');
// green the current column in case the radiobox is enabled
if(this.checked) {
td.addClass('green');
}
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow