Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2012, 12:42
Интересующийся
Отправить личное сообщение для apollox Посмотреть профиль Найти все сообщения от apollox
 
Регистрация: 16.10.2012
Сообщений: 14

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?
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2012, 13:17
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Нужно обращаться к свойству selectedIndex. Оно содержит номер выбранного пункта. Ты же ведь тестовое задание выполняешь? Там нужно делать запросы типа "1.json". Вот ты и получишь:
var url = document.getElementsByName('Country')[0].selectedIndex + 1 + ".json";
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2012, 13:23
Интересующийся
Отправить личное сообщение для apollox Посмотреть профиль Найти все сообщения от apollox
 
Регистрация: 16.10.2012
Сообщений: 14

Спасибо, но...
При чем здесь .json?
Пример из реального приложения я упростил, чтобы было понятнее.
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2012, 13:31
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

var select = document.getElementsByName('Country')[0];
select.options[select.selectedIndex].text
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2012, 13:32
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Сообщение от apollox
При чем здесь .json?
Не вникай Я просто думал, это из одного тестового задания.
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2012, 13:41
Интересующийся
Отправить личное сообщение для apollox Посмотреть профиль Найти все сообщения от apollox
 
Регистрация: 16.10.2012
Сообщений: 14

Nekromancer,
Спасибо, то что надо!
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2012, 16:27
Интересующийся
Отправить личное сообщение для apollox Посмотреть профиль Найти все сообщения от apollox
 
Регистрация: 16.10.2012
Сообщений: 14

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

Есть набор например дивов
<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
Ответить с цитированием
  #8 (permalink)  
Старый 16.10.2012, 16:28
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

document.querySelectorAll('.AAA.BBB');
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #9 (permalink)  
Старый 16.10.2012, 16:54
Интересующийся
Отправить личное сообщение для apollox Посмотреть профиль Найти все сообщения от apollox
 
Регистрация: 16.10.2012
Сообщений: 14

Отлично, спасибо!
Ответить с цитированием
  #10 (permalink)  
Старый 18.10.2012, 11:17
Интересующийся
Отправить личное сообщение для apollox Посмотреть профиль Найти все сообщения от apollox
 
Регистрация: 16.10.2012
Сообщений: 14

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

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


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

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


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

Последний раз редактировалось apollox, 18.10.2012 в 11:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЧаВО - часто задаваемые вопросы (faq) Gozar Общие вопросы Javascript 212 21.09.2022 04:27
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
массив options для select (в IE) Polkan Internet Explorer 8 06.05.2010 17:31