Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z checkboxami
szlipek
post 1.04.2010, 14:25:19
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 30.03.2009
Skąd: Sępólno Krajeńskie

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


Mianowicie mam 2 grupy checkboxów jedna grupa to np pojemności silnika czyli 1,6 1,8 2,0 itd a druga to kolor no i wszystko to łączy mi się z bazą danych i poprostu gdy odznaczam jakiś checkbox np z kolorem żółtym to znikają z listy wszystkie samochody które miały kolor żółty potem odznaczam np 1,6 i odpadają samochody które są żółte i miały pojemność 1,6 i wszystko mi działa błąd natomiast wyskakuje gdy np. zaznaczam spowrotem kolor żółty ponieważ wyświetlają mi się samochody które miały kolor żółty(czyli ok) ale przy okazji wyświetlają mi się też samochody o pojemności 1,6 mimo że checkbox z pojemnością 1,6 jest odznaczony. Nie wiem jak to zrobić może mi ktoś pomóc?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
kamil4u
post 1.04.2010, 16:53:33
Post #2





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

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


Użyj AJAX-a i za pomocą niego pobieraj odpowiednie dane z bazy danych. Pomyśl też o jakimś cache-u, bo może się zdarzyć, że baza nie wyrobi smile.gif Poczyta też o zdarzeniach - w tym wypadku onchange.


--------------------
Go to the top of the page
+Quote Post
szlipek
post 2.04.2010, 07:07:08
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 30.03.2009
Skąd: Sępólno Krajeńskie

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


Ale ja pobieram to wszystko za pomocą AJAXA i wszystko mi działa tylko nie wiem jak to zrobić, żeby sprawdzało czy checkbox z innej grupy został odznaczony albo zaznaczony
Go to the top of the page
+Quote Post
nospor
post 2.04.2010, 07:10:14
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale pokaz kod. Skad mamy wiedziec co jest źle jak kodu nie widzimy.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szlipek
post 2.04.2010, 07:18:03
Post #5





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 30.03.2009
Skąd: Sępólno Krajeńskie

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


  1. function przerysuj(checkbox,kolor)
  2. {
  3. // jeśli kliknięty checkbox jest zaznaczony, to wywołujemy funkcję z parametrem, mówiącym że ma pokazać markery
  4. // jeśli kliknięty checkbox nie jest zaznaczony, to wywołujemy funkcję z parametrem, mówiącym że ma ukryć markery
  5. if(document.getElementById(checkbox).checked)
  6. ukryjPokazKategorie(kolor,true);
  7. else
  8. ukryjPokazKategorie(kolor,false);
  9. odswiezSidebar();
  10. }
  11.  
  12.  
  13. // ta funkcja pokazuje lub ukrywa markery danej kategorii, zgodnie z przekazanymi argumentami
  14. function ukryjPokazKategorie(kolor,pokaz)
  15. {
  16. // kategoria oznacza id kategorii której widzialność trzeba zmienić
  17. // jeśli pokaz = false, to znaczy że mamy ukryć, w przeciwnym wypadku pokazać
  18.  
  19. // dla każdego z markerów
  20. for(var i=0; i<markery.length; i++)
  21. {
  22. // jeśli poszukiwana kategoria jest kategorią markera
  23. if(markery[i].kolor==kolor)
  24. {
  25. // to go ukrywamy lub pokazujemy, w zależności od argumetu pokaz
  26. if(pokaz==true)
  27. markery[i].show();
  28. else
  29. markery[i].hide();
  30. }
  31. }
  32. }
  33.  
  34. function pojemnosc(checkbox,pojemnosc)
  35. {
  36.  
  37. if(document.getElementById(checkbox).checked)
  38. ukryjPokazPojemnosc(pojemnosc,true);
  39. else
  40. ukryjPokazPojemnosc(pojemnosc,false);
  41. odswiezSidebar();
  42. }
  43. function ukryjPokazPojemnosc(pojemnosc,pokaz)
  44. {
  45.  
  46. for(var i=0; i<markery.length; i++)
  47. {
  48.  
  49. if(markery[i].pojemnosc==pojemnosc)
  50. {
  51. if(pokaz==true)
  52. markery[i].show();
  53. else
  54. markery[i].hide();
  55. }
  56. }
  57. }
  58.  


i html
  1. <!-- pole z checkboxami -->
  2. <div id="kategorieBelka" style="color: #666; font-style: italic;">
  3. <input checked="checked" id="kol1" type="checkbox" onclick="przerysuj('kol1','czarny')" /> czarny
  4. <input checked="checked" id="kol2" type="checkbox" onclick="przerysuj('kol2','biały')" /> biały
  5. <input checked="checked" id="kol3" type="checkbox" onclick="przerysuj('kol3','czerwony')" /> czerwony
  6. <input checked="checked" id="kol4" type="checkbox" onclick="przerysuj('kol4','żółty')" /> żółty
  7. </div>
  8. <tr><td><div id="otoczenieBelka" style="color: #666; font-style: italic;">
  9. <input checked="checked" id="poj1" type="checkbox" onclick="pojemnosc('poj1','1,6')" /> 1,6
  10. <input checked="checked" id="poj2" type="checkbox" onclick="pojemnosc('poj2','1,8')" /> 1,8
  11. <input checked="checked" id="poj3" type="checkbox" onclick="pojemnosc('poj3','2,0')" /> 2,0
  12. <input checked="checked" id="poj4" type="checkbox" onclick="pojemnosc('poj4','2,5')" /> 2,5
  13. </div></td></tr>
  14.  
Go to the top of the page
+Quote Post
nospor
post 2.04.2010, 07:24:12
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale wiesz na czym blad polega?
Pokazując jakis marker, sprawdzasz tylko jedną wartosc, którą akurat kliknąłeś w danym checkbox. Przy chowaniu to mialo sens, bo jak odznaczałes jedną wartosc, to marker nie zaleznie czy mial inne czy nie, to nie mial juz tej jednej i musial zniknac. Jedna przy pokazywaniu marker moze sie pokazac dopiero wtedy, gdy bedzie mial spelnione wszystkie wartosci a ty niestety sprawdzasz tylko tę jedną aktualnie klikniętą. Przy pokazywaniu musisz przeleciec po wszystkich checkboxach i sprawdzic czy dany marker zawiera wszystkie wartosci z zaznaczonych checkboxów i dopiero potem wyswietlic.



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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szlipek
post 2.04.2010, 07:27:26
Post #7





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 30.03.2009
Skąd: Sępólno Krajeńskie

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


Masz może jakiś przykład jak to zrobić bo szczerze mówiąć z JavaScript to dopiero zaczynam zabawę i tak naprawdę nie wiem jak to zrobić pewnie jakoś na if tak? jakbyś pokazał mi jakiś przykładowy kod to by było super
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:20