Получить выделенный текст опции с помощью 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.

665   7  

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;
    // ...
}

DEMO: http://jsfiddle.net/6dkun/1/

все эти функции и случайные вещи, я думаю, что лучше всего использовать это, и сделать это так:

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

    Ничего не найдено.