Получить выделенный текст опции с помощью JavaScript
у меня есть выпадающий список такой:
<select id="box1">
<option value="98">dog</option>
<option value="7122">cat</option>
<option value="142">bird</option>
</select>
как я могу получить фактический текст, а не значение с помощью JavaScript? Я могу получить значение с чем-то вроде:
<select id="box1" onChange="myNewFunction(this.selectedIndex);" >
а не 7122 Я хочу cat.
7 ответов:
попробовать варианты
function myNewFunction(sel) { alert(sel.options[sel.selectedIndex].text); }<select id="box1" onChange="myNewFunction(this);"> <option value="98">dog</option> <option value="7122">cat</option> <option value="142">bird</option> </select>
Обычный JavaScript
var sel = document.getElementById("box1"); var text= sel.options[sel.selectedIndex].text;jQuery:
$("#box1 option:selected").text();
HTML:
<select id="box1" onChange="myNewFunction(this);">JavaScript:
function myNewFunction(element) { var text = element.options[element.selectedIndex].text; // ... }
все эти функции и случайные вещи, я думаю, что лучше всего использовать это, и сделать это так:
this.options[this.selectedIndex].text
использовать -
$.trim($("select").children("option:selected").text()) //catвот скрипка -http://jsfiddle.net/eEGr3/
вам нужно будет получить innerHTML опции, а не его значение.использовать
this.innerHTMLвместоthis.selectedIndex.Edit: сначала вам нужно получить элемент option, а затем использовать innerHTML.
использовать
this.textвместоthis.selectedIndex.
попробуйте ниже:
myNewFunction = function(id, index) { var selection = document.getElementById(id); alert(selection.options[index].innerHTML); };посмотреть здесь jsfiddle пример
Comments