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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Jest sobie taki prosty select w formularzu:
<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:
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 ;)
Offline
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:
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
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)
Offline
Wielkie dzięki chłopaki.
Offline
Strony: 1