|
HTML <SELECT> Javascript. Как получить выбранный элемент?
| ☑ |
0
Ислам
04.04.14
✎
12:47
|
<select id="playlist" ondblclick="selectTrack()" size="20">
<optgroup class="curTrack" label="REP"></optgroup>
<option>161_Akon feat. Eminem - Smack That.mp3</option>
<option>Afroman - Because I Got High.mp3</option>
<option>Aphrodite - Jungle Brothers.mp3</option>
</select>
Нужно получить жаваскриптом выбранный объект <option> чтобы вытащить из него внутренний текст.
|
|
1
Ислам
04.04.14
✎
12:56
|
Нашел сам.
Другой вопрос: Если есть номер option, как получить номер children равного этому option?
|
|
2
Ислам
04.04.14
✎
13:04
|
на другом форуме подсказали. Можно закрывать темку
|
|
3
Ислам
04.04.14
✎
13:19
|
Оказывается неправильно подсказали.
Вопрос открыт: Как получить номер children'а в селекте имея самого этого children'а?
|
|
4
kokamoonga
04.04.14
✎
13:48
|
select.childNodes[0].index; // 0
|
|
5
Ислам
04.04.14
✎
13:55
|
(4) так не работает.
playlist.childNodes[0].index // -1
index показывает номер option не учитывая что есть optgroup
|
|
6
kokamoonga
04.04.14
✎
14:11
|
(5) кусок DOM на котором это происходит, пока не верю.
на главной мисты с optgroup:
s.childNodes[1].childNodes[0]; // <option value="section=admin">Админ</option>
|
|
7
kokamoonga
04.04.14
✎
14:12
|
(6) + кусок DOM = покажи кусок DOM
|
|
8
ramir
04.04.14
✎
14:27
|
(3) Зачем? Уверен все решается гораздо проще.
|
|
9
kokamoonga
04.04.14
✎
14:28
|
(5) (6) да, был не прав. optgroup можно получить по индексу зная его, но у самого элемента такого свойства нет. Шизофрения какая-то.
Очень просто это решается на jQuery
$('optgroup').index()
Как на чистом решить пока не вижу.
|
|
10
kokamoonga
04.04.14
✎
14:47
|
(9) +
Посмотрел в исходниках что за магию делает jQuery (). Вобщем никакой магии там нет. Они вызывают метод inArray(), который возвращает индекс путем перебора всей коллекции.
|
|