Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] przełączanie zaznaczania checkboxów
Forum PHP.pl > Forum > Przedszkole
dentopolis
mam checkboxy które chciałbym pogrupować tak żeby z dwóch lub trzech w danej grupie tylko jeden mógł być zaznaczony a reszta będzie się odznaczać przy wybraniu jednego z nich.

  1. echo "<input type='hidden' name='xwezlyniepowiekszone' value='0'>";
  2. if (empty($_GET)) {
  3. $xwezlyniepowiekszone = "checked";
  4. echo " węzły chłonne niepowiększone <input type='checkbox' name='wezlyniepowiekszone' ".$xwezlyniepowiekszone."> ; ";
  5.  
  6. } else {
  7. if (!empty($_GET['wezlyniepowiekszone'])) {
  8. $xwezlyniepowiekszone = "checked";
  9. echo " węzły chłonne niepowiększone <input type='checkbox' name='wezlyniepowiekszone' ".$xwezlyniepowiekszone."> ; ";
  10. } else {
  11. $xwezlyniepowiekszone = "";
  12. echo " węzły chłonne niepowiększone <input type='checkbox' name='wezlyniepowiekszone' ".$xwezlyniepowiekszone."> ; ";
  13. }
  14. }
  15.  
  16. echo "<input type='hidden' name='xwezlypowiekszone' value='0'>";
  17. if (empty($_GET)) {
  18. $xwezlypowiekszone = "";
  19. echo " węzły chłonne powiększone <input type='checkbox' name='wezlypowiekszone' ".$xwezlypowiekszone."> ; ";
  20.  
  21. } else {
  22. if (!empty($_GET['wezlypowiekszone'])) {
  23. $xwezlypowiekszone = "checked";
  24. echo " <span class='czerwony'>węzły chłonne powiększone</span> <input type='checkbox' name='wezlypowiekszone' ".$xwezlypowiekszone."> ; ";
  25. } else {
  26. $xwezlypowiekszone = "";
  27. echo " węzły chłonne powiększone <input type='checkbox' name='wezlypowiekszone' ".$xwezlypowiekszone."> ; ";
  28. }
  29. }


znalazłem taki kod: jsfiddle
czy ktoś wie jak go zmodyfikować do mojego kodu lub zna inny sposób?
nospor
A po co tak kombinowac? Nie lepiej poprostu uzyc pol RADIO, ktore wlasnie po to sa stworzone?
dentopolis
czy w ten sposób jest prawidłowo? obecna strona do testów: przykład
  1. if (empty($_GET)) {
  2. $wezly1 = "checked";
  3. echo " węzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone' ".$wezly1."> ; ";
  4. echo " węzły chłonne powiększone <input type='radio' name='wezly1' value='powiekszone'> ; ";
  5. } else {
  6. if (!empty($_GET['wezly1'])) {
  7. $wezly1 = "checked";
  8. echo " węzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone' ".$wezly1."> ; ";
  9. echo " węzły chłonne powiększone <input type='radio' name='wezly1' value='powiekszone'> ; ";
  10. } else {
  11. $wezly1 = "";
  12. echo " węzły chłonne bniepowiększone <input type='radio' name='wezly1' ".$wezly1."> ; ";
  13. }
  14. }
nospor
Radio sa ok. Zas samo ich zaznaczanie chyba kuleje, chocby w przypadku if (!empty($_GET['wezly1'])) {
dentopolis
  1. $wezly1=$_SESSION['wezly1'] = $_GET['wezly1'];
  2.  
  3.  
  4. if (empty($_GET)) {
  5. echo " węzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone' checked> ; ";
  6. echo " węzły chłonne powiększone <input type='radio' name='wezly1' value='powiekszone'> ; ";
  7. } else {
  8. if ($wezly1 = 'niepowiekszone') {
  9. echo " aaawęzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone' checked> ; ";
  10. echo " węzły chłonne powiększone <input type='radio' name='wezly1' value='powiekszone'> ; ";
  11. } elseif ($wezly1 = 'powiekszone') {
  12. echo " kkkwęzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone'> ; ";
  13. echo " <span class='czerwony'>węzły chłonne powiększone</span> <input type='radio' name='wezly1' value='powiekszone' checked> ; ";
  14. } else {
  15. echo "cuś";
  16. }
  17.  
  18. }


teraz nie reaguje na zaznaczenie przycisku 'powiększone'.
trueblue
Tak długo jesteś na forum i nie wiesz jak się porównuje wartości w PHP?
dentopolis
  1. if (empty($_GET)) {
  2. echo " węzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone' checked> ; ";
  3. echo " węzły chłonne powiększone <input type='radio' name='wezly1' value='powiekszone'> ; ";
  4. } else {
  5. if ($wezly1 == 'niepowiekszone') {
  6. echo " aaawęzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone' checked> ; ";
  7. echo " węzły chłonne powiększone <input type='radio' name='wezly1' value='powiekszone'> ; ";
  8. } else {
  9. echo " kkkwęzły chłonne niepowiększone <input type='radio' name='wezly1' value='niepowiekszone'> ; ";
  10. echo " <span class='czerwony'>węzły chłonne powiększone</span> <input type='radio' name='wezly1' value='powiekszone' checked> ; ";
  11. }
  12.  
  13. }


nadal nie przełącza.gdzie jest błąd?
trueblue
Sprawdź jaką wartość ma zmienna wezly1.
dublinka
Działa tak jak chciałeś żeby działalo
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.