messmar
Erfahrenes Mitglied
Guten Abend!
Ich versuche den Status bzw. Klasse einiger Labels die, direkt nach dem dazugehörigen Radio Button
eingebettet sind, zu ändern:
HTML Code:
Es funktioniert nur bei den ersten zwei Klicks - so zusagen - und danach nicht mehr bzw. danach wird weder der Status der
Radio Buttons (true/false) noch die Klasse der Labels geändert !
Ich vermute mal, dass es an die Methode
legt.
Es funktioniert zwar wenn ich das Ganze über CSS steuern lasse (aber der Code ist dann anders in jQuery):
nur es ist dann nicht mehr CrossBrowser (IE8) und deswegen die Überlegung es direkt über den Code zu steuern.
Hat Jemand von euch bitte ne Idee oder Tipp?
Vielen Dank & Gruß
Messmar
Ich versuche den Status bzw. Klasse einiger Labels die, direkt nach dem dazugehörigen Radio Button
eingebettet sind, zu ändern:
Code:
...
$(this).find(':radio, :checkbox').next().click(function(){
var $el = $(this).prev();
if($el.attr('type') === 'radio'){
$el.attr('checked', 'checked');
var name = $el.attr('name');
$('input[name="' + name + '"]').next().removeClass('Radio_Active')
.end()
.filter(':checked')
.next()
.addClass('Radio_Active');
}
});
...
HTML Code:
HTML:
<input type="radio" name="gender" value="Female" class="Radio_Female"><label class="Radio_Inactive"></label>
<input type="radio" name="gender" value="Male" class="Radio_Male"><label class="Radio_Inactive"></label>
Es funktioniert nur bei den ersten zwei Klicks - so zusagen - und danach nicht mehr bzw. danach wird weder der Status der
Radio Buttons (true/false) noch die Klasse der Labels geändert !
Ich vermute mal, dass es an die Methode
Code:
end()
Es funktioniert zwar wenn ich das Ganze über CSS steuern lasse (aber der Code ist dann anders in jQuery):
Code:
.Radio_Female, .Radio_Male{display:none;}
/*
.Radio_Female + label, .Radio_Female:checked + label,
.Radio_Male + label, .Radio_Male:checked + label{height:18px; width:18px; padding:0; margin:0; cursor:pointer;}
.Radio_Female + label{background:url('bg_radio.png') no-repeat;}
.Radio_Female:checked + label{background:url('bg_radio_Checked.png') no-repeat;}
.Radio_Male + label{background:url('bg_radio.png') no-repeat;}
.Radio_Male:checked + label{background:url('bg_radio_Checked.png') no-repeat;}
nur es ist dann nicht mehr CrossBrowser (IE8) und deswegen die Überlegung es direkt über den Code zu steuern.
Hat Jemand von euch bitte ne Idee oder Tipp?
Vielen Dank & Gruß
Messmar