Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Petla for +
Forum PHP.pl > Forum > Przedszkole
Mike122
Witam napisałem skrypt który pobiera wartości z pola option następnie przypisuje im liczbę n która w pętli for zwiększa się.. Jednak nie do końca o to chodzi.. Przedstawienie to na przykładach:

Mój Skrypt
  1. var x = document.getElementsByTagName("option");
  2. for (var n = 0; n < x.length; n++){
  3. var s = document.getElementsByTagName("option")[n];
  4. var y = s.childNodes[0];
  5. var server = (y.nodeValue);
  6. var sum = n+1;
  7. var speed = server.replace(server, sum +" - "+server);
  8. document.getElementsByTagName("option")[n].innerHTML = speed;
  9. }



  1. //Wyglądają formularze bez użycia skryptu...
  2. //1 formualrz
  3. <form action="...">
  4. <select name="nazwa">
  5. <option>12</option>
  6. <option>13</option>
  7. </select>
  8. </form>
  9.  
  10. //2 formualrz
  11. <form action="...">
  12. <select name="nazwa">
  13. <option>12</option>
  14. <option>13</option>
  15. </select>
  16. </form>


  1. //Po użyciu tego skryptu wyglądają tak:
  2. //1 formualrz
  3. <form action="...">
  4. <select name="nazwa">
  5. <option>1 - 12</option>
  6. <option>2 - 13</option>
  7. </select>
  8. </form>
  9. //2 formualrz
  10. <form action="...">
  11. <select name="nazwa">
  12. <option>3 - 12</option>
  13. <option>4 - 13</option>
  14. </select>
  15. </form>


  1. //Chciałbym by wyglądało tak:
  2. //1 formualrz
  3. <form action="...">
  4. <select name="nazwa">
  5. <option>1 - 12</option>
  6. <option>2 - 13</option>
  7. </select>
  8. </form>
  9. //2 formualrz
  10. <form action="...">
  11. <select name="nazwa">
  12. <option>1 - 12</option>
  13. <option>2 - 13</option>
  14. </select>
  15. </form>


Bardzo proszę i pomoc.. Próbowałem dać w pętli for następne for jednak nie działało...
r4xz
to może sprawdzać czy np. name rodzica jest inne, albo samego elementu (co pozwoli wykryć, że jest to inny select) i zmieniać wartość n na 0/1 (zależy gdzie wkleić warunek)?
zegarek84
Cytat(Mike122 @ 4.12.2009, 15:23:49 ) *
Próbowałem dać w pętli for następne for jednak nie działało...

pętlę zewnętrzną daj po select
Mike122
Cytat(zegarek84 @ 4.12.2009, 16:13:25 ) *
pętlę zewnętrzną daj po select

Możesz troszkę jaśniej?
zegarek84
nie sprawdzałem - popraw błędy jeśli takie są ale to ma być w ten deseń - ps - nie trzeba co chwila przeszukiwać dokumentu - wystarczy raz i zapamiętać to do jakiejś zmiennej - js jest dosyć mocno obiektowy winksmiley.jpg

[JAVASCRIPT] pobierz, plaintext
  1. var y = document.getElementsByTagName('select'), y_length=y.length,
  2. o = null, o_length = null,
  3. m, n,s, z, server, sum, speed;
  4. for (m = 0; m < y_length; ++m){
  5. o = y[m].getElementsByTagName('option');
  6. o_length = o.length;
  7. for (n = 0; n < o_length; ++n){
  8. s = o[n];
  9. z = s.childNodes[0];
  10. server = (z.nodeValue);
  11. sum = n+1;
  12. speed = server.replace(server, sum +" - "+server);
  13. o[n].innerHTML = speed;
  14. }
  15. }
[JAVASCRIPT] pobierz, plaintext

PS. optymalniej było by jeszcze w ten deseń (też nie sprawdzałem ;p)
[JAVASCRIPT] pobierz, plaintext
  1. var y = document.getElementsByTagName('select'), y_length=y.length,
  2. o = null, o_length = null, o_in = null,
  3. m, n;
  4. for (m = 0; m < y_length; ++m){
  5. o = y[m].getElementsByTagName('option');
  6. o_length = o.length;
  7. for (n = 0; n < o_length; ++n){
  8. o_in = o[n].firstChild;
  9. o_in.nodeValue = [n+1, ' - ', o_in.nodeValue].join('');
  10. }
  11. }
[JAVASCRIPT] pobierz, plaintext
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.