Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-02-25 11:28:24

  raixer - Moderator

raixer
Moderator
Zarejestrowany: 2004-08-21

[JS] odczyt wybranego elementu w selekcie

Jest sobie taki prosty select w formularzu:

Kod:

<select name="sel" id="sel">
<option value="1">Jeden</option>
<option value="2">Dwa</option>
<option value="3">Trzy</option>
</select>

Teraz chce odczytac to co zostalo wybrane (jeden, dwa lub trzy) - czyli te teksty, a nie przypisane im wartosci (1,2,3).

Gdy zrobie to np. tak:

Kod:

selekt = document.getElementById('sel');
odczytaj = selekt.options[selekt.selectedIndex];

lub
odczytaj = document.getElementById('sel').value

Zawsze mam zwracana wybrana wartosc (czyli 1,2 lub 3), a ja chce te nazwy ;)


Open Source - Świat otwartych umysłów
Linux Registered User: #276548

Offline

 

#2  2008-02-25 16:29:03

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: [JS] odczyt wybranego elementu w selekcie

Kod:

odczytaj = document.getElementById('sel').childNodes[0].firstChild.nodeValue

W miejsce „childNodes[0]” wstaw wartość której opcji <select> z kolei (zaczynając od zera) chcesz odczytać.

A nejlepiej zrób sobie funkcję, która wybranemu elementowi nada jakieś unikalne id (np. „wybrany”) i odwołuj się do treści przez:

Kod:

document.getElementById('wybrany').firstChild.nodeValue

Przykład podobnej funkcji znajdziesz w Kursie BrowseHappy na samym końcu.

Ostatnio edytowany przez Minio (2008-02-25 16:29:44)

Offline

 

#3  2008-02-25 16:30:10

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: [JS] odczyt wybranego elementu w selekcie

Kod:

var elem = document.getElementById('sel');
var dzieci=elem.childNodes;
for(i=0; i < dzieci.length; i++) {
   if(dzieci[i].getAttribute('value')==elem.value) {
       alert('WYBRANO:' + dzieci[i].textContent)
      break
   }
}

byc moze da sie prosciej, ale tak na pewno zadziala ...

Edit:
Minio mnie ubiegl ... ale w mojej metodzie nie trzeba dodawac zadnych ID ani kozystac z kolejnosci tagow - kozystamy tylko z atrybutow value

Ostatnio edytowany przez bercik (2008-02-25 16:32:57)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#4  2008-02-26 09:16:29

  raixer - Moderator

raixer
Moderator
Zarejestrowany: 2004-08-21

Re: [JS] odczyt wybranego elementu w selekcie

Wielkie dzięki chłopaki.


Open Source - Świat otwartych umysłów
Linux Registered User: #276548

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)