获取当前选定的选项

Mar*_*ndy 14 html javascript jquery

<select id="sel">
    <option id="1">aa</option>
    <option id="2">bb</option>
    <option id="3">cc</option>
</select>

$("#sel").change(function(){
   alert($(this).children().attr('id'))
})
Run Code Online (Sandbox Code Playgroud)

现场: http ://jsfiddle.net/cxWVP/

我如何获得当前选择的选项ID?现在总是告诉我id ="1".

Jak*_*kub 20

$('#sel').change(function(){
   alert($(this).find('option:selected').attr('id'));
});
Run Code Online (Sandbox Code Playgroud)

应该管用.

  • 没有自尊的开发者应该选择这种方法而不是[Esailia的回答](http://stackoverflow.com/a/8809329).这有点像风景优美的路线,除了它看起来不漂亮. (2认同)
  • @AndeE你有没有非拖曳的理由为什么这比Esailija的答案更糟?这是有道理的,并且以一个简单的,自我记录的,逐步的方式解释事情,而不是Esailija的答案,这个答案并不明显,需要长篇大论来解释它究竟是做什么的. (2认同)

Esa*_*ija 20

http://jsfiddle.net/cxWVP/1/

$("#sel").change(function(){
   alert( this.options[this.selectedIndex].id );
})
Run Code Online (Sandbox Code Playgroud)


Roc*_*mat 12

<option>标签应该有一个value属性.选择一个时,您可以使用它的价值$("#sel").val().

<select id="sel">
    <option value="1">aa</option>
    <option value="2">bb</option>
    <option value="3">cc</option>
</select>

$("#sel").change(function(){
   alert($(this).val())
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/yPYL5/