Ответ 1
$("#days option:selected").text()
Если у меня есть этот выбор:
<select id="days">
<option value="0">Today</option>
<option value="1">Yesterday</option>
<option value="7">Last week</option>
</select>
и кто-то выбирает третий вариант "на прошлой неделе", я могу получить значение на прошлой неделе (это 7), используя $("#days").val()
, но как я могу получить значение текста, т.е. "На прошлой неделе"?
$("#days option:selected").text()
Не приводит ли текст .text() к вашему результату?
http://marcgrabanski.com/article/jquery-select-list-values - нашел это тоже
Добавьте класс "myOption" к параметрам и значение sttribute с нужным текстом. Тогда:
$( ". myOption" ). each (function (i) {if ($ (this).attr('selected')) {$ (this).attr('value')});
Может быть немного многословным (я уверен, что могу вспомнить более простой способ...)
var value = $("#days").val();
$("option[value='" + value + "']", "#days").text()
Я предпочитаю использовать:
var s = $("#days");
var i = s.prop("selectedIndex"); //get selected indexs
s.children().eq(i).text();