Ich versuche, Javascript zu verwenden, um die Hintergrundfarbe des Radio-Labels zu ändern, wenn es aktiviert ist. Jedes Optionsfeld wendet eine andere Klasse oder Farbe an. Ich muss Java wegen eines CSS-Konflikts mit einem Plugin verwenden. Außerdem benötigen Sie das Radiowertfeld für dynamische Zwecke, daher kann dieses Feld nicht zum Hinzufügen von Klassen verwendet werden.Versuch, JavaScript zu verwenden, um eine eindeutige Klasse hinzuzufügen, wenn Optionsfeld aktiviert ist
Hier, wo ich bin an:
$(window).load(function() {
$('#emailGroup1').change(function() {
if (this.checked) {
$(this).parent().addClass('Good');
} else {
$(this).parent().removeClass('Good');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="confirmGroup">
<form>
<label id="emailGroup">
<input type="radio" name="emailConfirm" id="emailGroup1" value="Pending" checked>
Pending
</label>
<label id="emailGroup">
<input type="radio" name="emailConfirm" id="emailGroup2" value="Good">
Good
</label>
<label id="emailGroup">
<input type="radio" name="emailConfirm" id="emailGroup3" value="Bad">
Bad
</label>
</form>
</div>
Ich mag würde das Javascript haben lesen Sie die standardmäßig aktiviert Optionsfeld und gelten diese Klasse, wenn Seite geladen wird. Wenn der Benutzer dann eine andere Optionsschaltfläche auswählt, wird die Klasse aus der Standardauswahl entfernt und auf die Auswahl angewendet.
1. Es gibt kein '# emailGroup1' Element 2. Sie haben die gleiche 'id' in Ihrem Code wiederholt, was ungültig ist. Verwenden Sie stattdessen Klassen 3. "Ein CSS-Konflikt" ist kein Grund, JS zu verwenden - Sie können immer noch CSS verwenden, wenn Sie Ihre Regeln mit ausreichend hoher Spezifität setzen. –
Sorry ... lassen Sie mich Code bearbeiten – CAM308