从选择框中获取ID

时间:2014-01-10 08:41:41

标签: 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>

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

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

6 个答案:

答案 0 :(得分:5)

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

Demo

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

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

$('#form select').on('change',function() {});

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

答案 1 :(得分:3)

$(function(){
    $('select').on('change',function(){
     var id = $(this).attr('id');
     alert(id);
    });
  });

答案 2 :(得分:1)

$('select').change(function() {
    alert($(this).attr('id'));
});

答案 3 :(得分:0)

注册select元素的更改处理程序,然后在处理程序中使用this.id以获取select元素的id

$(document).ready(function () {
    $('#form select').change(function () {
        var strChosen = this.id;
        alert(strChosen);
    });
});

演示:Fiddle

答案 4 :(得分:0)

您在表单上使用.change()事件。那是错的。

将select元素与下面的更改事件一起使用。

$(document).ready(function() {

  $('select').change(function() {

    var strChosen = $(this).attr('id');

    alert(strChosen);

  });

以下是工作演示:http://jsfiddle.net/n46Be/

答案 5 :(得分:0)

首先,您需要绑定选择框的更改事件,而不是像以下那样的形式:

$(document).ready(function(){    
   $('select').change(function (e){        
   });    
});

然后你就可以在变更处理程序中找到更改的选择框的id,放在代码下面。

var selectedId = this.id;

结尾代码如下所示:

$(document).ready(function(){    
   $('select').change(function (e){
     var selectedId = this.id;
     alert(selectedId); 
   });    
});

感谢..