使用jQuery获取在下拉列表中select的当前值

我的页面上有一组dynamic生成的下拉框。 基本上我使用jQuery克隆它们。 现在我想要捕获每个更改事件下拉列表中选定的值。

我试过这样的东西没有用。

$('._someDropDown').live('change', function(e) { //debugger; var v = $(this); alert($(this + ':selected').val()); alert($(this).val()); }); 

我如何完成它?

这是你需要的:)

 $('._someDropDown').live('change', function(e) { console.log(e.target.options[e.target.selectedIndex].text); }); 

对于新的jQuery使用

 $(document).on('change', '._someDropDown', function(e) { console.log(this.options[e.target.selectedIndex].text); }); 

获取所选选项的文本

 $("#your_select :selected").text(); 

获取所选选项的值

 $("#your_select").val(); 
 $("#citiesList").change(function() { alert($("#citiesList option:selected").text()); alert($("#citiesList option:selected").val()); }); 

citiesList是select标记的ID

检查出来 – >

获取文本

 $("#selme").change(function(){ $(this[this.selectedIndex]).text(); }); 

为了获得价值

 $("#selme").change(function(){ $(this[this.selectedIndex]).val(); }); 

要获取下拉(select)元素的值,只需使用val()。

 $('._someDropDown').live('change', function(e) { alert($(this).val()); }); 

如果你想要select的选项的文本,使用这个:

 $('._someDropDown').live('change', function(e) { alert($('[value=' + $(this).val() + ']', this).text()); }); 

你可以试试:

 $("._someDropDown").val(); 

尝试这个…

 $("#yourdropdownid option:selected").val(); 

这实际上更有效率,并且在我看来,如果您想使用这个或另一个variables访问您的select,可读性更好

 $('#select').find('option:selected') 

事实上,如果我没有记错phpStorm将尝试自动更正另一种方法。

上面讨论的选项将不起作用,因为它们不是CSS规范的一部分(这是jQuery扩展)。 花了2-3天的时间来挖掘信息,我发现从下拉列表中select选项的文本的唯一方法是:

 { $("select", id:"Some_ID").find("option[selected='selected']")} 

请参阅下面的附加说明:因为:selected是jQuery扩展,而不是CSS规范的一部分,所以使用:selected的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。 要在使用时达到最佳性能:selectselect元素,首先使用纯CSSselect器select元素,然后使用.filter(":selected") 。 (从http://api.jquery.com/selected-selector/复制);

如果你想要的索引当前选定的值。

 $selIndex = $("select#myselectid").prop('selectedIndex'));