2014-01-10 52 views
1

獲取ID我有多個選擇框whithin形式是這樣的:從選擇框中

<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);  
    }); 
}); 

回答

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

+0

上()將不會更好? :O – sbaaaang

+0

好的,但不應該你指定這個:) – sbaaaang

+0

@sbaaaang當然,我會繼續與 –

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

註冊爲select元素的變化處理,則處理程序內使用this.id獲得選擇元素

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

演示:Fiddle

0

您在表單上使用.change()事件。這是錯誤的。中包含更改事件

使用select元素。

$(document).ready(function() { 

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

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

    alert(strChosen); 

    }); 

這裏的工作演示:http://jsfiddle.net/n46Be/

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); 
    });  
}); 

感謝..