Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kilka pytan dot. checkbox, kilka pytan dot. checkbox
acztery
post
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


mam kilka pyt dot. checkbox

1. Mam liste checkbox każdy ma swoje id i jest umieszczony w tanej komórce w tabeli jak zrobic ze po zaznaczeniu tego checkbox ta komorka zmienia tlo na czerowne np tak jak jest w phpmyadmienie

2. Ta sama lista po zaznaczeniu checkbox pojaie sie pole np <div>bla</div>

punt 2 prawie ok

mam takie cos

  1. <script type="text/javascript">
  2. function twist( recipient,recipientcheck)
  3. {
  4. divobj = document.getElementById( recipient );
  5. checkbox = document.getElementById( recipientcheck );
  6.  
  7. if(checkbox.checked){
  8. divobj.style.position = "relative";
  9. divobj.style.visibility = "hidden";
  10. }else{
  11. divobj.style.position = "absolute";
  12. divobj.style.visibility = "hidden";
  13. }
  14. }


ale np mamy 5 pol checkbox zaznacze 1 pokazuje sie , zaznacze 2 i 3 tez sie pokaze ale jak zamkne np 2 to div znika mimo tego ze 1,3 jest zaznaczony.

Ten post edytował acztery 4.08.2007, 12:43:56
Go to the top of the page
+Quote Post
konys
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 7
Dołączył: 5.11.2005

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


Tak na szybko wklepane - musisz to sobie dostosować:

  1. <head>
  2. <style type="text/css">
  3. .transparent {background-color:transparent}
  4. .red {background-color:#C00}
  5. #checkboxTest {display:none; width:100%; background:#C00; padding:3px; border:1px solid #999}
  6. </style>
  7. function changeParentClass(obj) {
  8. if (obj.checked) {
  9. obj.parentNode.className = 'red';
  10. } else {
  11. obj.parentNode.className = 'transparent';
  12. }
  13. if (isAnyChecked()) {
  14. document.getElementById('checkboxTest').style.display = 'block';
  15. } else {
  16. document.getElementById('checkboxTest').style.display = 'none';
  17. }
  18. }
  19.  
  20. function isAnyChecked() {
  21. table = document.getElementById('checkboxTable');
  22. checkboxes = table.getElementsByTagName('input');
  23. for (i=0; i< checkboxes.length; i++) {
  24. if ('checkbox' == checkboxes[i].type && checkboxes[i].checked) {
  25. return true;
  26. }
  27. }
  28. return false;
  29. }
  30. </script>
  31. </head>
  32. <body>
  33. <div id="checkboxTest">Test checkboxow</div>
  34. <table width="50%" id="checkboxTable">
  35. <tr>
  36. <td><input type="checkbox" id="ch1" onchange="changeParentClass(this)" /></td>
  37. </tr>
  38. <tr>
  39. <td><input type="checkbox" id="ch2" onchange="changeParentClass(this)" /></td>
  40. </tr>
  41. </body>
  42. </html>
Go to the top of the page
+Quote Post
acztery
post
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


super prawie jest ok

a jak mma takie

<tr> <td>tytul</td><td>opis</td><td><input type="checkbox" id="ch2" onchange="changeParentClass(this)" /></td> </tr>

i chce aby cala komorka TR byla czerwona to nie mam pomysu probowalem ale raczkuje w JS

zmienilem na takie cos ale cos nie teges

  1. if (obj.checked) {
  2. document.getElementsByTagName('tr').parentNode = 'red';
  3. } else {
  4. document.getElementsByTagName('tr').parentNode = 'transparent';
  5. }


Ten post edytował acztery 4.08.2007, 22:20:07
Go to the top of the page
+Quote Post
konys
post
Post #4





Grupa: Zarejestrowani
Postów: 100
Pomógł: 7
Dołączył: 5.11.2005

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


To dobry przykład do nauki modelu DOM. W Twoim przypadku powinieneś dotrzeć do elementu nadrzędnego jakim jest TR i wszyskim jego potomkom TD przyporządkować odpowiednią klasę.
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: 22.08.2025 - 01:07