Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.11.2015, 15:18
Аватар для sovsem-nub
Профессор
Отправить личное сообщение для sovsem-nub Посмотреть профиль Найти все сообщения от sovsem-nub
 
Регистрация: 15.10.2014
Сообщений: 255

получить text выбранного селекта с классом
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
</head><body>

<select class="oplataSelect">
<option value="oplNalKur">Наличными курьеру  </option>
<option value="moneta32863">Карта сбербанк   </option>
<option value="moneta1020">Яндекс деньги  </option>
<option value="moneta1017"> <a class="tc-tiddlylink tc-tiddlylink-missing" href="#WebMoney">WebMoney</a>  </option>
<option value="moneta31086">Киви кошелек  </option>
<option value="moneta32767">Пластиковая карта  VISA</option>
<option value="moneta36992">Пластиковая карта  <a class="tc-tiddlylink tc-tiddlylink-missing" href="#MasterCard">MasterCard</a></option>
<option value="all">выбрать  другой способ оплаты</option>
</select>

<script>
alert(document.querySelector('.oplataSelect').options[document.querySelector('.oplataSelect').options.selectedIndex].text)
</script>

</body>
</html>



очень мне не нравится конструкция (document.querySelector('.oplataSelect').options[document.querySelector('.oplataSelect').options.se lectedIndex].text)
чтобы показать текс. Может быть это можно как-то покороче написать?
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2015, 16:07
Аватар для Leon-on12
Аспирант
Отправить личное сообщение для Leon-on12 Посмотреть профиль Найти все сообщения от Leon-on12
 
Регистрация: 07.04.2015
Сообщений: 65

Так по моему не короче. Но для меня лично чуть более понятно.

<html>
<body>	
<select class="oplataSelect">

<option value="oplNalKur">Наличными курьеру  </option>
<option value="moneta32863">Карта сбербанк   </option>
<option value="moneta1020">Яндекс деньги  </option>
<option value="moneta1017"> <a class="tc-tiddlylink tc-tiddlylink-missing" href="#WebMoney">WebMoney</a>  </option>
<option value="moneta31086">Киви кошелек  </option>
<option value="moneta32767">Пластиковая карта  VISA</option>
<option value="moneta36992">Пластиковая карта  <a class="tc-tiddlylink tc-tiddlylink-missing" href="#MasterCard">MasterCard</a></option>
<option value="all">выбрать  другой способ оплаты</option>

</select>
</body>
</html>

var sel = document.getElementsByTagName("select");
var opt = document.getElementsByTagName("option");
sel[0].oninput = funcAlert;
function funcAlert(){
	alert(sel[0].value);
	for (var i=0;i<opt.length;i++){
		if (opt[i].value == sel[0].value) alert(opt[i].innerHTML)
	}
}
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2015, 18:15
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

document.querySelector('.oplataSelect').selectedOptions[0].text;
Ответить с цитированием
  #4 (permalink)  
Старый 26.11.2015, 11:11
Аватар для sovsem-nub
Профессор
Отправить личное сообщение для sovsem-nub Посмотреть профиль Найти все сообщения от sovsem-nub
 
Регистрация: 15.10.2014
Сообщений: 255

нет. селектов разных на странице 3 штуки отличаются только классом.
getElementsByTagName не подойдет

selectedOptions[0].text тоже не подойдет, потому что нужно будет получать text не первого, а того, что выбран.

если честно, я очень удивлён, что текст можно получить только по индексу. Неужели нельзя его получить по его .value значению?
Ответить с цитированием
  #5 (permalink)  
Старый 26.11.2015, 11:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

sovsem-nub,
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
</head><body>

<select class="oplataSelect">
<option value="oplNalKur">Наличными курьеру  </option>
<option value="moneta32863">Карта сбербанк   </option>
<option value="moneta1020">Яндекс деньги  </option>
<option value="moneta1017"> <a class="tc-tiddlylink tc-tiddlylink-missing" href="#WebMoney">WebMoney</a>  </option>
<option value="moneta31086">Киви кошелек  </option>
<option value="moneta32767" selected="selected">Пластиковая карта  VISA</option>
<option value="moneta36992">Пластиковая карта  <a class="tc-tiddlylink tc-tiddlylink-missing" href="#MasterCard">MasterCard</a></option>
<option value="all">выбрать  другой способ оплаты</option>
</select>

<script>
var sel = document.querySelector('.oplataSelect');
alert(sel.querySelector('[value="'+sel.value+'"]').text)
</script>

</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плагин для Chrome. Анти - мат. Проблема с обновлением. Pacman Javascript под браузер 3 31.05.2013 21:40
Плагин для Chrome. Анти - мат. Проблема с обновлением. timedo Общие вопросы Javascript 1 30.05.2013 12:28
убрать прокрутку с элемента Vampir3 Общие вопросы Javascript 1 06.02.2013 17:20
Горизонтальная прокрутка контента! andys Элементы интерфейса 5 26.06.2011 23:06
скролл для длинного текста не появляется... dschmitz (X)HTML/CSS 6 27.11.2010 02:34