Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS][JavaScript]podświetlanie zaznaczonego wiersza w tabeli, zmiana jednej z dwóch klas elementu
KCG
post
Post #1





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Chciałbym podświetlać wiersz w tabeli po zaznaczeniu checkbox'a. Mogę zmienić jego klasę w ten sposób, przy zdarzeniu onclick:
  1. if (document.getElementById("z").className == 'kl') document.getElementById("z").className = '';
  2. else document.getElementById("z").className = 'kl';

Chodzi oczywiście o zaznaczanie i odznaczanie. Jednak element posiada już jedną klasę. Dlatego w else mogę zmienić = na +=, aby przypisywał dodatkową klasę, ale po odznaczeniu wszystkie klasy giną. Jak to rozwiązać?
Przydałoby się coś w stylu php'owego strstr() i bym szukał czy jest jedna i druga, czy tylko jedna, jest jakaś funkcja tego typu w JS?

pzdr

Ten post edytował KCG 10.01.2009, 12:21:31


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kurs JS się kłania:
https://developer.mozilla.org/En/Core_JavaS.../String/Replace


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
KCG
post
Post #3





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


No z tego linku za dużo się nie dowiedziałem. Mógłbyś mi napisać, jak sprawdzić, czy jakaś nazwa klasy jest już w className? Tym replace raczej tego nie osiągnę, próbowałem search, ale też nie było pożądanego rezultatu :/


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Kod
if (document.getElementById("z").className == 'kl') document.getElementById("z").className =document.getElementById("z").className.slice(0,2);//zamiast 2 ma być liczba znaków tej przypisanej klasy
else document.getElementById("z").className += 'kl';


Lub coś w tym stylu smile.gif

Ten post edytował kamil4u 11.01.2009, 00:16:13


--------------------
Go to the top of the page
+Quote Post
KCG
post
Post #5





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Nie działa odznaczanie w Twoim przypadku, a poza tym, jeśli będą 2 klasy to warunek ten nigdy nie będzie spełniony i o to wszystko się rozbija:
if (document.getElementById("z").className == 'kl')

Dzięki w każdym razie za odpowiedzi.


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post
skowron-line
post
Post #6





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


http://www.w3schools.com/jsref/jsref_IndexOf.asp wyszukiwanie stringa w podciagu.
A nie możesz zrobić na sztywno classy questionmark.gif

Kod
if( document.getElementById( 'checkBox' ).checked == true )
document.getElementById( 'tr' ).className = 'klasa1';
else
document.getElementById( 'tr' ).className = 'klasaDefault';


Ten post edytował skowron-line 11.01.2009, 01:33:04


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
KCG
post
Post #7





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Nie mogę na sztywno, bo element posiada drugą klasę, lub nie, więc mamy 2 przypadki.
Naskrobałem takiego tasiemca i działa:
  1. if (document.getElementById('tr').className.indexOf('kl') != -1) {
  2. if (document.getElementById('tr').className.indexOf('kl2') == -1)
  3. document.getElementById('tr').className='';
  4. else
  5. document.getElementById('tr').className='kl2';
  6. } else document.getElementById('tr').className += ' kl';


Dzięki wszystkim winksmiley.jpg


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 04:51