Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как вытащить то что между тегами <option>? (https://javascript.ru/forum/dom-window/16898-kak-vytashhit-chto-mezhdu-tegami-option.html)

BlackWolfDen 27.04.2011 14:45

Как вытащить то что между тегами <option>?
 
Привет всем! У меня возник такой вопрос вопрос! Как вытащить то что между тегами <option>? То есть когда какой либо option selected то вытаскивать его значение!

Я нашел решение в гугле но оно мне не подходит, оно вытаскивает индексы значения начиная с нуля, вот выкладываю:
function selectOption(num)
{
	var selObj = document.getElementById('selSeaShells1');
	selObj.selectedIndex = num;
}
function alertSelectedIndex(selId)
{
	alert('selectedIndex for ' + selId + ' is: '
	 + document.getElementById(selId).selectedIndex);
}


<select name="selSS1" id="selSeaShells1">
	<option value="val0">sea zero</option>
	<option value="val1">sea one</option>
	<option value="val2">sea two</option>
	<option value="val3">sea three</option>
	<option value="val4">sea four</option>
</select>
<input type="button" value="0" onclick="selectOption(0);" />
<input type="button" value="1" onclick="selectOption(1);" />
<input type="button" value="2" onclick="selectOption(2);" />
<input type="button" value="3" onclick="selectOption(3);" />
<input type="button" value="4" onclick="selectOption(4);" />
<input type="button" value="alert" onclick="alertSelectedIndex('selSeaShells1');" />


Но как все же сделать чтоб вытащить например текст sea zero из option value="val0"?

melky 27.04.2011 14:55

<select name="selSS1" id="selSeaShells1">
	<option value="val0">sea zero</option>
	<option value="val1">sea one</option>
	<option value="val2">sea two</option>
	<option value="val3">sea three</option>
	<option value="val4">sea four</option>
</select>

<input type="button" value="alert" onclick="ff()" />
<script>
function ff(){

var sel = document.getElementById('selSeaShells1')

alert( sel.options[sel.selectedIndex].innerHTML   )

}
</script>

Riim 27.04.2011 15:21

var Option = {
	getValue: function(self) {
		if (self) return (self.attributes.value || {}).specified ? self.value : self.text;
	}
};

var Select = {
	getValue: function(self) {
		if (self) {
			if (self.type == 'select-one') return Option.getValue(self.options[self.selectedIndex]);
			for (var result = [], optionValue = Option.getValue, options = self.options, i = 0, length = options.length; i < length; i++) {
				if (options[i].selected) result[result.length] = optionValue(options[i]);
			}
			return result;
		}
	}
};


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