jQuery - zmena CSS labelov

Programovacie jazyky, rady, poradňa...
mjz
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 134
Registrovaný: 25 nov 2007, 14:20
Bydlisko: Bardejov

jQuery - zmena CSS labelov

Príspevok od používateľa mjz »

Mám kód s množstvom inputov a labelov.

Kód: Vybrať všetko

<input id="jeden" type="checkbox" /><img src="TuMamEsteObrazok" /><label for="jeden">Jeden</label>
<input id="dva" type="checkbox" /><img src="TuMamEsteObrazok" /><label for="dva">Dva</label>
<input id="tri" type="checkbox" /><img src="TuMamEsteObrazok" /><label for="tri">Tri</label>
A potrebujem jQuery ktoré zmení CSS (zmeniť farbu písma) pre label ak je jeho checkbox zaškrnutý a naopak nech sa zmení do pôvodnej podoby ak sa odškrtne.
Vedel by som si to aj spraviť ale pre každý checkbox osobitne a tomu sa chcem vyhnúť. Potrebujem nejaký univerzálny script. Ďakujem za každú radu.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: jQuery - zmena CSS labelov

Príspevok od používateľa *****HERO***** »

Kód: Vybrať všetko

$(':checkbox').change(function(){
     $('label[for="' + $(this).attr('id') + '"]').toggleClass('active', this.checked);
});
toto pridaj do document onready, nastavi ti to classu "active" prisluchajucemu labelu ked je checkbox checknuty, dostyluj si to uz normalne cez CSSko
mjz
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 134
Registrovaný: 25 nov 2007, 14:20
Bydlisko: Bardejov

Re: jQuery - zmena CSS labelov

Príspevok od používateľa mjz »

Výborne len mám tam ešte button s týmto jquery kódom

Kód: Vybrať všetko

$('#uncheckall').click(function () {
            $(":checkbox").prop("checked", false);
 });
ktorý mi odznačí všetky checkboxy, ale to CSS ktoré mi zmení tú farbu labelu ostane. Čo mám pridať do toho scriptu aby to odstránilo aj ten class .active?

EDIT:
A ešte tam mám button ktorý mi označí všetky checkboxy :D

Kód: Vybrať všetko

 $('#checkall').click(function () {
            $(":checkbox").prop("checked", true);
 });
tu by som zasa chcel aby mi to pridalo triedu .active do každého labelu
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: jQuery - zmena CSS labelov

Príspevok od používateľa *****HERO***** »

musis manualne odpalit ten event .. po metode prop zavolaj este change()

Kód: Vybrať všetko

$(":checkbox").prop("checked", true).change();
Napísať odpoveď