Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] Dynamiczna nazwa zmiennej
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
zombie
Jak w JS zadeklarować nazwę zmiennej ze zmiennej? Mam na myśli coś wg poniższego przykładu, który oczywiście nie działa:
  1. for (var i=0; i<10; i++){
  2. var 'zmienna'+i = wartosc;
  3. }

w php wygląda to tak:
  1. <?php
  2. ${'zmienna'.$i} = wartosc;
  3. ?>
ale w żaden sposób nie mogę wykombinować jak to zrobić w JS. Czy to jest w ogóle jest możliwe?
Zajec
Kod
eval('var zmienna'+i+' = "wartosc"');
zombie
Dzięki, ale to niestety nie zalatwia mi sprawy pętli, która otwiera okna:
  1. var 'win'+i = window.open(name, url, attr);

Potrzebuje nazw tych okien, zeby przy nastepnej pętli sprawdzić czy są już otwarte
  1. win3.opened();

Może ktoś ma na to jakiś pomysł?
jareks
Mój problem w zasadzie jest podobny, a że nic lepszego nie znalazłem, a i ta podpowiedź niestety nie pomogła, to odświerzam temat. Przerabiam na swoje potrzeby pewien skrypt JS.

  1. <script language="JavaScript">
  2. <!--
  3. function thetext(txt, thekat) {
  4. document.theform.thetext.value = txt
  5. return true;
  6. }
  7. // -->


W zmiennej thekat jest dynamicznie generowana z innej funkcji (php) liczba (w tej chwili u mnie od 1 do 5, no ale może być w przyszłości różnie), przekazywana do funkcji JS z wykorzystaniem zdarzenia onmouseover. Dalej wyżej pokazana funkcja thetext przekazuje ją do jednego z formularzy (tych jest dokładnie tyle ile tych cyfr). Formularze te nazywają się kolejno theform1, theform2, itd (aż do wyczerpania cyfr, czyli tyle razy ile wywołana z różnym parametrem zostanie wspomniana funkcja php). Sęk w tym, by w podanej wyżej przeze mnie funkcji JS zmienna theform zmieniała swą nazwę na theform1, theform2, itd - zgodnie z przekazywaną do funkcji zmienną thekat.

Kombinowałem, niestety moja wiedza JS opiera się wyłącznie skojarzeniach z innymi językami.
Będę wdzięczny za szybką modyfikację kodu, lub chociażby za jakąkolwiek wskazówkę, która pomoże mi jakoś to rozwikłać.

Znalazlem już pomoc. Kolega mi to całkiem przemodelował, więc nie będę wklejał, żeby nie robić zamiesznia.
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.