Только второй ответ Боба верен:
$("#sel")[0].selectedIndex
Работает:
http://jsfiddle.net/b9chris/wxeVN/1/
Использование .attr()
работает только в том случае, если пользователь (или восстановление DOM браузера) не изменил параметр, выбранный после загрузки страницы:
http://jsfiddle.net/b9chris/wxeVN/
Вы можете реализовать это как расширение jQuery и получить немного больше информации в процессе:
(function($) {
$.fn.selectedOption = function() {
var sel = this[0];
return sel.options[sel.selectedIndex];
};
})(jQuery)
$('button').click(function() {
$('#output').text('selected index: ' + $('select').selectedOption().index);
});
http://jsfiddle.net/b9chris/wxeVN/102/
То, что возвращает .selectedOption()
, является фактическим тегом параметра, поэтому вы можете получить доступ к .index
, .value
и .text
- немного удобнее, чем просто индекс при обычном использовании.