Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery validate checkbox
Forum PHP.pl > Forum > XML, AJAX
micdob
Witam,

mam problem z walidacją formularza. Używam plugin do walidacji, ale natrafiłem na jedną przeszkodę, z którą nie mogę sobie poradzić sad.gif.

Mam około 30 checkboxów w jednej grupie. Chciałbym, aby użytkownik mógł zaznaczyć tylko 20, a po zaznaczeniu takiej liczby pozostałe chceckboxy stały się disabled.

Z góry dziękuje za pomoc i pozdrawiam
micdob
fleshgrinder
sprawdz cos takiego:

  1. <!DOCTYPE html>
  2. <head>
  3. <script type="text/javascript" src="jquery-1.3.1.js"></script>
  4. <script type="text/javascript">
  5. $(function() {
  6.  
  7. var checked = 0; // ile jest juz zaznaczonych
  8. var disableAfter = 3; // po ilu ma blokowac pozostale
  9.  
  10. $('input[type=checkbox]').click(function() {
  11.  
  12. if($(this).attr('checked')) { // kliknieto zeby zaznaczyc
  13. checked++;
  14. if(checked === disableAfter) { // liczba zaznaczonych osiagnela max
  15. $('input[type=checkbox]').each(function() {
  16. if(!($(this).attr('checked'))) {
  17. $(this).attr('disabled', 'disabled');
  18. }
  19. });
  20. }
  21. }
  22. else { // kliknieto zeby odznaczyc
  23. checked--;
  24. if(checked === disableAfter - 1) { // odznaczono pierwszy po zablokowaniu pozostalych - odblokowac wszystkie
  25. $('input[type=checkbox]').removeAttr('disabled');
  26. }
  27. }
  28. });
  29. });
  30.  
  31. </script>
  32. </head>
  33. <body>
  34. <input type="checkbox">
  35. <input type="checkbox">
  36. <input type="checkbox">
  37. <input type="checkbox">
  38. <input type="checkbox">
  39. <input type="checkbox">
  40. <input type="checkbox">
  41. <input type="checkbox">
  42. <input type="checkbox">
  43. <input type="checkbox">
  44. </body>
  45. </html>
micdob
Witam,

bardzo dziękuje za tak szybką odpowiedź. Wszystko działa, tak jak powinno.

Jeszcze raz dzięki i pozdrawiam
micdob
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.