使用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元素,首先使用纯CSS
select器select元素,然后使用.filter(":selected")
。 (从http://api.jquery.com/selected-selector/复制);
如果你想要的索引当前选定的值。
$selIndex = $("select#myselectid").prop('selectedIndex'));