Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wspólna funkcja dla selecta i radiobutona.
Forum PHP.pl > Forum > Po stronie przeglądarki
Niktoś
Mam mały problem próbuję zrobić funkcję dla selecta iradiobutona.Funkcja polega na zmianie backgroundu.Obecnie mam coś takiego:
  1. $jq(".list input").change(function () {
  2. if ($jq(this).is(':checked')) {
  3. $jq(this).parent().find('label').css('background-color', 'red');
  4. }
  5. else {
  6. $jq(this).parent().find('label').css('background-color', '');
  7. }
  8. });
  9. });

Działa to mianowicie tak:klikam option selecta zanacza się na czerwona,klikam kolejny option to samo,klikam poprzedni
option odznacza się i tu jest dobrze.
W radiobuttonie działa tak klikam na option zaznacza się ,klikam na kolejny option zaznacza się,lecz kolejny powinien się odznaczyć.Kombinuje jak to sprytnie przerobić ,ale brak mi już pomysłów.
wookieb
podstawy html-a. Radio buttony dotyczące tej samej grupy powinny mieć taką samą nazwę.
Niktoś
Masz na myśli name??Bo jeśli tak to mają tą samą nazwę.Wydaje mi się ,że to działa na pojedyńczą opcję nie sprawdza kolejnych.Warunek klikniętego optiona,zaznaczeni i odznaczenie jeśli jest zanaczony *w else.
Gimnastykuje się, żeby odznaczyć inny option jeśli jest niesłusznie zaznaczony.
wookieb
Wrzuć to proszę na jsfiddle.net
Niktoś
Fakt o tym nie pomyślałem:
http://jsfiddle.net/QH6QM/
wookieb
Musisz niestety z łapy odznaczyć te elementy. change nie wywołuje sięna radiobuttonach odznaczonych. Nie wiem dlaczego
http://jsfiddle.net/QH6QM/4/
Niktoś
Siedziałem wczoraj do dość ,późna i doszedłem do troszeczke prostszej formy,ale działanie takie same ja Twoje.
Myślę ,że moje działanie ,będzie działać na wielu kontrolkach , gdzie występują atrybuty select:
http://jsfiddle.net/QH6QM/5/

PS.Napisałbym wczoraj,żeby nikt nie musiał się męczyć ,aby mi pomóc,ale było już naprawdę późno.

Wielkie dzięki.
wookieb
Twoja forma jest prostsza ale za to niepotrzebnie wywołuje ostatnią linijkę dla checkboxów smile.gif No ale jak kto woli.
Niktoś
Tylko ,że ten :chcecked ,działa także jako :selected, dziwna sprawa z tymi selektorami w jquery ,ale mi to na razie pasi.Zaraz sprawdzę czy w kapryśnym IE7 będzie to działać.

Edit.Działa


Nie chcę zakładać nowego wątku ,gdyż dotyczy on tego samego przykładu.
Problem jest natury czysto CSS-owej.Mianowicie używam pozycjonowania relatiwe i musi być gdyż bez niego w ie7 opcje wychodzą poza diva container.Z pozycjonowaniem relative,kontrolki od starszych po nowsze przeglądarki renderowane są w identyczny sposób.Jest tylko jedna wada z którą nie mogę sobie poradzić-mianowicie niesamowity powrót scrolla po zaznaczeniu opcji,które są przy końcu listy.Nie wiem dlaczego tak się dzieje-myślałem ,że coś u mnie z cssem jest nie tak ,ale o dziwo na jsfiddle jest to samo. Nie wiem jak tego uniknąć ,czy ktoś mógłby pomóc:
http://jsfiddle.net/QH6QM/6/
Chyba jakieś fenomeny wynajduje.
wookieb
Na na pewno. Nadużywanie position absolute i relative to plaga, którą trzeba tępić. http://jsfiddle.net/QH6QM/8/
Niktoś
Nie wiem,jak podziękować,z tym miałem problem,którego nie umiałem rozwiązać ,a wystarczyło po prostu pousuwać position w większości znaczników,a ja kombinowałem z position i display.

Będę miał na uwadze Twoją sugestięsmile.gif.

Dziękuję.
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.