2013-02-22 44 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()); 
});