从选择框中获取ID

use*_*943 2 javascript jquery

我有多个选择框,在这样的形式:

<form action="foo" method="post" id="form">
    <select id="one">
        <option value="foo1"></option>
        <option value="foo2"></option>
        <option value="foo3"></option>
      </select>
      <select id="two">
          <option value="bar1"></option>
          <option value="bar2"></option>
          <option value="bar3"></option>
      </select>
      <select id="three">
          <option value="baz1"></option>
          <option value="baz2"></option>
          <option value="baz3"></option>
      </select>
</form>
Run Code Online (Sandbox Code Playgroud)

现在,如果这三个盒子中的任何一个改变了,我想知道它们中的哪一个.我试着像下面那样,但我只得到第一个盒子的id.我是否必须为每个选择编写它,或者有没有办法获取更改的选择框的ID?

$(document).ready(function() {
    $('#form').change(function() {    
        var strChosen = $('select').attr('id');    
        alert(strChosen);    
    });  
});
Run Code Online (Sandbox Code Playgroud)

Mr.*_*ien 6

使用this关键字并将选择器更改为$('#form select')

演示

$(document).ready(function() {
  $('#form select').change(function() {
    var strChosen = $(this).attr('id');
    alert(strChosen);
  });
});
Run Code Online (Sandbox Code Playgroud)

注意:您也可以使用类似事件的.on()方法change

$('#form select').on('change',function() {});
Run Code Online (Sandbox Code Playgroud)

有关语法的更多信息,请参阅@ sbaaaang的答案