Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Zaznaczanie wiersza tabeli
Forum PHP.pl > Forum > Przedszkole
lubiemdziem
Witam, jestem kompletnym laikiem w JS. Znalazłem skrypt na zaznaczanie wiersza, tylko, że nie działa tak jak chcę. Chcę zaznaczać wiele wierszy na raz (spoko, to łatwe. Wywalić funkcję clearSelection), ale jak odznaczyć wiersz po ponownym kliknięciu?


Tu kod:

  1.  
  2. <style type="text/css">
  3. .highlight {
  4. background:red;
  5. }
  6.  
  7. <script type="text/javascript">
  8. var selectedClass='highlight';
  9. var selectedRow=null;
  10. function selectRow(row){
  11. clearSelection();
  12. row.className += " "+selectedClass;
  13. selectedRow=row;
  14.  
  15. }
  16. function clearSelection(){
  17. var reg = new RegExp('(\\s|^)'+selectedClass+'(\\s|$)');
  18. if(selectedRow!=null) selectedRow.className=selectedRow.className.replace(reg,' ');
  19. }
  20.  
  21. <title>Table</title>
  22.  
  23. </head>
  24.  
  25. <tr onClick="selectRow(this)"><td>1</td><td>2</td></tr>
  26. <tr onClick="selectRow(this)"><td>3</td><td>4</td></tr>
  27. <tr onClick="selectRow(this)"><td>5</td><td>5</td></tr>
  28. <tr onClick="selectRow(this)"><td>6</td><td>7</td></tr>
  29.  
  30. </body>
  31. </html>



Pozdrawiam.
kamil4u
Chcesz gotowca czy trochę pomyśleć i sam to zrobić? - pytam, bo nie wiem czy mam opisywać wszystko krok po kroku czy po prostu dać Ci gotowy kod.
O jeszcze takie pytanie: w całości rozumiesz powyższy kod?

Praktycznie wszystko masz napisane. Wystarczy trochę przekopiować/pozamieniać i będzie gitara smile.gif
lubiemdziem
Szczerze to nie rozumiem niczego.

Wolę gotowy kod, bo i tak JS to dla mnie czarna magia. Dziękuję slicznie z góry, dam punkt pomógł biggrin.gif
kamil4u
W sumie lepiej, bo zaoszczędziłeś mi czasu na wyjaśnianie wszystkiego. Chociaż ostatnio mało kto na forum chce się czegoś nauczyć - z reguły chcą gotowca. No nic.

  1. <html>
  2. <head>
  3.  
  4. <style type="text/css">
  5. .highlight {
  6. background:red;
  7. }
  8. </style>
  9.  
  10. <script type="text/javascript">
  11. var selectedClass='highlight';
  12. var selectedRow=null;
  13.  
  14. function selectRow(row){
  15. if( row.className.indexOf(selectedClass) != -1 )
  16. clearSelection( row );
  17. else{
  18. clearSelection( selectedRow);
  19.  
  20. row.className += " "+selectedClass;
  21. selectedRow=row;
  22. }
  23. }
  24. function clearSelection( row ){
  25. var reg = new RegExp('(\\s|^)'+selectedClass+'(\\s|$)');
  26. if(selectedRow!=null) row.className=row.className.replace(reg,' ');
  27. }
  28. </script>
  29.  
  30. <title>Table</title>
  31.  
  32. </head>
  33. <body>
  34.  
  35. <tr onClick="selectRow(this)"><td>1</td><td>2</td></tr>
  36. <tr onClick="selectRow(this)"><td>3</td><td>4</td></tr>
  37. <tr onClick="selectRow(this)"><td>5</td><td>5</td></tr>
  38. <tr onClick="selectRow(this)"><td>6</td><td>7</td></tr>
  39. </table>
  40.  
  41. </body>
  42. </html>
lubiemdziem
Dzięki mistrzu smile.gif


Co do uczenia się zasady działania skryptów nie mam zwyczajnie czasu. Wiem, smutne to, ale czasem trzeba i tak
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.