Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Checkbox
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
shpaque
Witam serdecznie, funkcja to:
  1. $('#line1bold').click(function(check) {
  2. {
  3. if ($('#line1bold').attr('checked'))
  4. {
  5. $('#preview').css('font-weight') == 'bold';
  6. }
  7. else
  8. {
  9. $('#preview').css('font-weight') == 'normal';
  10. }
  11. }


checkbox ma onclick=check(); - chcę aby włączony dawał czcionce (diva 'preview') bolda, a wyłączony powracał do normal.
nospor
$('#preview').css('font-weight') == 'bold';
Co to niby ma robic?
shpaque
zmieniać DIVowi "preview" font-weight z 'normal' na 'bold'.
nospor
1) == to porowanie. = to przypisanie. - zasadnicza roznica
2) W dokumentacji jquery przy opisie funkcji css() wyraznie napisali jak sie przypisuje stylom wartosi i nie ma tam zadnej mowy o = czy tez ==. Czemu tego nie przeczytales? Dokumentacje naprawde robią w jakims celu :/
shpaque
wiem, tam jest tak .css("font-weight", "bold"); a kiedy przeszukiwałem Wasze forum znalazłem taką solucję jednego z zaawansowanych użytkowników, podpisującego jeszcze ten wycinek "zrób tak - inaczej ci nie ruszy"...

ale to nei działą...
nospor
Cytat
wiem, tam jest tak .css("font-weight", "bold");
Brawo, tak wlasnie ma byc.

Zas co do "zaawansowanego" uzytkownika nie bede sie wypowiadal, bo rownie dobrze mogles ty zle zrozumiec. Kod co podales z == jest totalnie bez sensu i nie ma prawa dzialac.

Jesli to .css("font-weight", "bold"); nadal ci nie dziala, to byc moze zle podpiales zdarzenia na click i ci nawet do tego nie dochodzi. Sprawdz przez proste zrobienie alertow przedd .css("font-weight", "bold");
werdan
W podanym przykładzie spaprana jest składnia (za duzo klamerek, brak nawiasu).

http://jsfiddle.net/snWg5/

Kliknij na kwadracik.
shpaque
button ma:
  1. <input type="checkbox" id="line1bold" name="line1bold" value="b" title="Tekst pogrubiony"><label style="width:100%;height:100%;" for="line1bold">b</label>


zauwazylem ze w jquery nie musi byc akcja przypisana - bo skrypt wczesniej ja definiuje... Ale nie wiem - w js miałem onclick=check(); i prostą funkcję która nie działała przez to że na reszcie strony jest jquery i pewnie się żarło... Alert nie idzie.

  1. $('#line1bold').click(function()
  2. {
  3. alert("dupa");
  4. if ($('#line1bold').attr('checked'))
  5. {
  6. $('#preview').css('font-weight', 'bold');
  7. }
  8. else
  9. {
  10. $('#preview').css('font-weight', 'normal');
  11. }
  12. });
nospor
No widzisz, alert sie nie wykonuje a ty sie dziwisz ze css nie chce sie zmienic... Trudne takie debugoanie? Nie. To czemu tak ciezko samemu je zrobic?

Kod js co teraz masz jest ok. Jedyny problem moze byc taki, ze podpinasz zdarzenie gdy jeszcze nie ma checkbox, pod ktorego sie podpinasz.
shpaque
http://jsfiddle.net/snWg5/10/

tu działa, zmieniłem na jQuery 1.9.1 bo z takiej korzystam no i musiałem z .attr zmienić na .prop

super wszystko gra, dzięki! smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.