Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   getElementsByName для form select (https://javascript.ru/forum/events/32436-getelementsbyname-dlya-form-select.html)

apollox 16.10.2012 12:42

getElementsByName для form select
 
Всем ДД, никак не могу нагуглить нужное свойство.

Есть форма типа

<select name='Country'>
<option value='1'>Russia
<option value='2' selected>Kazakhstan
<option value='3'>Ukraina
</select>


document.getElementsByName('Country')[0].value

возвращает 2,
document.getElementsByName('Country')[0].text

возвращает undefined,

А мне нужно получить Kazakhstan - к какому свойству нужно обращаться вместо value и text?

BallsShaped 16.10.2012 13:17

Нужно обращаться к свойству selectedIndex. Оно содержит номер выбранного пункта. Ты же ведь тестовое задание выполняешь? Там нужно делать запросы типа "1.json". Вот ты и получишь:
var url = document.getElementsByName('Country')[0].selectedIndex + 1 + ".json";

apollox 16.10.2012 13:23

Спасибо, но...
При чем здесь .json?
Пример из реального приложения я упростил, чтобы было понятнее.

Nekromancer 16.10.2012 13:31

var select = document.getElementsByName('Country')[0];
select.options[select.selectedIndex].text

BallsShaped 16.10.2012 13:32

Цитата:

Сообщение от apollox
При чем здесь .json?

Не вникай:) Я просто думал, это из одного тестового задания.

apollox 16.10.2012 13:41

Nekromancer,
Спасибо, то что надо!

apollox 16.10.2012 16:27

Еще один вопрос написовался.

Есть набор например дивов
<div class="AAA BBB CCC"">Текст 1</div>
<div class="AAA BBB DDD"">Текст 2</div>
<div class="AAA DDD QQQ"">Текст 3</div>


Мне нужно найти элементы где есть классы AAA BBB, таких в примере 2 штуки

document.getElementsByClassName('AAA BBB').length
- так не работает, нужно видимо как-то регулярное выражение использовать, но не могу понять как (

Если искать все три класса, то работает
document.getElementsByClassName('AAA BBB CCC').length

Nekromancer 16.10.2012 16:28

document.querySelectorAll('.AAA.BBB');

apollox 16.10.2012 16:54

Отлично, спасибо!

apollox 18.10.2012 11:17

Еще один вопрос.

Вот так работает:
className.replace('hide ' + selected_text + ' ACCEPTED','show ' + selected_text + ' ACCEPTED');


Но мне нужно, чтобы работало при любом третьем классе, а не только ACCEPTED.

Вот так не работает:
className.replace('hide ' + selected_text + ' *','show ' + selected_text + ' *');


Как правильно шаблон оформить? Что нужно вместо звездочки написать, чтобы на любое имя третьего класса срабатывало?


Часовой пояс GMT +3, время: 07:59.