Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Problem z funkcją
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


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.  
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




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) {
...
}
Go to the top of the page
+Quote Post
krzesik
post
Post #3





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


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?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 07:10