2013-02-22 74 views
1

我有一個選擇標籤。如何獲得這個選定的值?

這裏是jQuery的:

$('#offer').change(
function(){ 
    alert($(this + "option:selected").val()); 
}); 

我想要得到的選項的值:選擇這個。上面的代碼不起作用。但是,如果我考績一個ID它的工作原理"#idofselecet option:selected"

+0

您編寫它的方式將'this'節點與字符串'option:selected''連接起來,該字符串不會返回任何對象。你可以,如果你真的想使用'$(this).find('option:selected').val()'(但不要,使用[adeneo的建議](http://stackoverflow.com/a/15034445/82548),它更好,更高效)。 – 2013-02-22 22:45:01

回答

4

的選擇值將變爲無論在所選選項的文字是:

$('#offer').on('change', function() { 
    alert(this.value); 
}); 

你也可以做

$('#offer').on('change', function() { 
    alert($('option:selected', this).val()); 
}); 

這是通過傳遞this作爲選擇器的上下文,但是您將一個元素this添加到字符串this + "option:selected",並且這不起作用。

+0

+1但是請注意,在這種情況下,這兩個示例不是等價的'。另外,堅持使用jQuery,第一個例子也可以是'alert($(this).val())'。 – Boaz 2013-02-22 22:47:00

+0

@Boaz? – martriay 2013-02-22 22:47:41

+0

@martriay錯字:)修正。 – Boaz 2013-02-22 22:48:35

1

您可以使用.find()方法。

上下文選擇器在內部使用它在上下文中進行搜索。

$('#offer').change(function(){ 
    alert($(this).find("option:selected").val()); 
});