Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] dynamiczny odnośnik i onclick
Forum PHP.pl > Forum > Przedszkole
pjamalia
am funkcję:

  1. function createAhrefsTEST(div_name)
  2. {
  3. var div = document.getElementById(div_name);
  4. div.style.width=200;
  5. div.style.height=200;
  6. div.style.backgroundColor="black";
  7. div.style.color="white";
  8. for(var iter = 1; iter <js_counter; iter++)
  9. {
  10. a=document.createElement("a");
  11. a.setAttribute("href",iter);
  12. a.appendChild(document.createTextNode(iter+" - "));
  13. a.style.color="white";
  14. a.id=iter+"link";
  15. div.appendChild(a);
  16. a.onclick=function()
  17. {
  18. test(iter);
  19. }
  20. }
  21. }


jak kliknę na dany stworzony odnośnik to wyświetla mi w funkcji test(iter); wartość ostatniego odnośnika. Dla każdego odnośnika jest ta sama wartość. Nie wiem jak zrobić, żeby np po kliknięciu na 2 odnośnik wyśeietliło mi że to jest drugi, na trzeci - trzeci, czwarty-czwarty. Obecnie na którykolwiek nie kliknę to mam wartość ostatniego... czy może mi ktos pomóc?questionmark.gif

dzięki
zegarek84
2 sposoby - w pierwszym kłania się zasada zasięgu zmiennych gdzie masz błąd w logice i poprawnie powinno być:
Kod
a.onclick=(function(iter){
    return function(){test(iter);}
})(iter);

drugi to i tak pośrednio numer przekazujesz do atrybutu id w taki sposób, że bez problemu można odzyskać tą liczbę np tak:
Kod
a.onclick=function(){test(~~parseInt(this.id,10));};

~~ raczej nie potrzebne ale to dla przypadków gdzie miałbyś uzyskać czasem NaN - choć zazwyczaj używam do przybliżania w dół...
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.