Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Problem z funkcją
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam,
mam funkcję która po zaznaczeniu checkboxa ma pokazać przycisk buton, checkboxy generowane są dynamicznie na podstawie wyników z bazy danych. Funkcja działa dobrze wyłącznie dla pierwszego checkboxa dla kolejnych już nie, prosze o sprawdzenie kodu. Dziękuję

  1. ..................................
  2. <script language="JavaScript" type="text/javascript">
  3. function pokaz() {
  4. obj=document.getElementById('ukryte');
  5. objCheck=document.getElementById('zaznaczanie');
  6. objlista = document.getElementById('lista');
  7. if (objCheck.checked) {
  8. obj.style.display="";
  9. objlista.style.display="none";
  10. }
  11. else
  12. {
  13. obj.style.display="none";
  14. objlista.style.display="";
  15. }
  16. }
  17. <script language="JavaScript">
  18. function sprawdz_ile_zaznaczonych(){
  19. var ile = 0;
  20. for(var i=0; i<document.generatorfaktury.length; i++){
  21. if((document.forms.generatorfaktury.elements[i].type)=="checkbox"){
  22. if(document.forms.generatorfaktury.elements[i].checked) ile++;
  23. }
  24. }
  25. return ile;
  26. }
  27.  
  28. function deaktywacja(){
  29. if(sprawdz_ile_zaznaczonych()>=2){
  30. for(var i=0; i<document.generatorfaktury.length; i++){
  31. if((document.forms.generatorfaktury.elements[i].type)=="checkbox"){
  32. if(!document.forms.generatorfaktury.elements[i].checked)
  33. document.forms.generatorfaktury.elements[i].disabled=true;
  34. }
  35. }
  36. }
  37. else{
  38. for(var i=0; i<document.generatorfaktury.length; i++){
  39. if((document.forms.generatorfaktury.elements[i].type)=="checkbox")
  40. document.forms.generatorfaktury.elements[i].disabled=false;
  41. }
  42. }
  43. }
  44.  
  45. </script>
  46. </head>
  47.  
  48. ..................................
  49. Tak wygląda checkbox
  50. //funkcja deaktywacja zprawdza ilośc zaznaczonych checków jeśli jest więcej niż dwa wyłącza pozostałe
  51. <input type="checkbox" id="zaznaczanie" value="'.$t[nr_spr].'" name="spr'.$t[nr_spr].'" onclick="all=deaktywacja();pokaz();return all;" />
  52.  
nospor
Funkcja pokaz operuje na ID a ID moze byc tylko jedno. Jak chcesz miec uniwersalna funkcje to nie mozesz operowac na ID, ktore moze byc tylko JEDNO.
W takich wypadkach operuje sie na klasach i dziala relatywnie wzgledem kliknietego zasobu. Klikniety zasob mozesz przekazac do funkcji pokaz przez this:
pokaz(this)
a w deklaracji funkcji masz dodac to jako parametr
fucntion pokaz(clickedCheckbox) {
...
}
krzesik
Kombinuję jak koń pod górę, kiepsko znam się JS to marne moje próby są tutaj, poprosze o pomoc.... :-(
<script language="JavaScript">
function pokaz() {

$("checkbox").click(function () {
$("button").style.display="block";
});

}
</script>

Ma ktoś chwile aby mi pomóc?
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.