Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Przypisanie wartości indeksu do zmiennej
Forum PHP.pl > Forum > Przedszkole
hubson87
Witam mam, wydaję mi się banalny problem ale nie bardzo wiem jak to zrobić. Mam kilka selectow:

  1. <select name="a[]"> ...</select>
  2. <select name="a[]"> ...</select>
  3. <select name="a[]"> ...</select>
  4. <select name="a[]"> ...</select>


I teraz chcialbym wyciagnac z nich wartosc indeksu przy onchange. Tzn zmieniam wartość powiedzmy w select a[6] to do zmiennej przypisuje 6. Jak w a[88] to do zmiennej 88. Z góry dzięki za pomoc
kamil4u
Nie wiem czy dobrze zrozumiałem..., ale masz:
Kod
<select name="a[]">
<option>1</option><option>2</option><option>3</option>
</select>

<select name="a[]">
<option>1</option><option>2</option><option>3</option>
</select>

<select name="a[]">
<option>1</option><option>2</option><option>3</option>
</select>

<select name="a[]">
<option>1</option><option>2</option><option>3</option>
</select>

<span id="test"></span>

<script>
onload = function(){
  var i,els,el;
  for(i=0, els=document.getElementsByTagName('select'); el=els[i++]; ){
   el.onchange = function(i){ return function(){
     document.getElementById('test').innerHTML = i;
   }}(i);
  }
}
</script>


To zamieszanie z el.onchange jest po to, żeby można było odczytać zmienną "i".
hubson87
Dokłtadnie o to mi chodziło dzięki
zegarek84
ja się tu tylko do poprawności składni jedynie delikatnie przyczepię - jeśli już to lepiej i bezpieczniej składniowo jest napisać w stylu:
Kod
(function(i){
// można dołożyć przeliczone inne zmienne lokalne przez definicję var
return function(){
   // w tej funkcji mamy zasięg do zdefiniowanych zmiennych lokalnych oraz zgodnie z "propagacją" w górę jeśli danej nazwy nie ma w danym skope zmienna jest szukana aż do window...
};
})(wartosc_i);

czyli funkcję która ma zostać wykonana gdyż jest jakby konstruktorem najlepiej co najmniej ograniczyć w nawiasach lub wcześniej przypisać do zmiennej i potem tworzyć obiekty z wykonania tej zmiennej - akurat w JS funkcje są także obiektami ;]
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.