如何获得$(这个)在jQuery中select的选项?
以下代码工作:
$("#select-id").change(function(){ var cur_value = $('#select-id option:selected').text(); . . . });
如何重构第二行:
var cur_value = $(this).***option-selected***.text();
你用什么***option-selected***
?
对于选定的值: $(this).val()
如果你需要select的选项元素, $("option:selected", this)
$(this).find('option:selected').text();
在我看来,最好的和最短的方式在下拉菜单上的onchange事件获得选定的选项:
$('option:selected',this);
获取值属性:
$('option:selected',this).attr('value');
获取标签之间的显示部分:
$('option:selected',this).text();
在你的示例中:
$("#select-id").change(function(){ var cur_value = $('option:selected',this).text(); });
var cur_value = $('option:selected',this).text();
您可以使用find
来查找所选的选项,该选项是当前jQuery对象所指向的节点的后代:
var cur_value = $(this).find('option:selected').text();
由于这可能是一个直接的孩子,我实际上build议使用.children
来代替:
var cur_value = $(this).children('option:selected').text();
这应该工作:
$(this).find('option:selected').text();
var cur_value = $(this).find('option:selected').text();
由于option
可能是select
直接孩子,你也可以使用:
var cur_value = $(this).children('option:selected').text();
最佳的揣测:
var cur_value = $('#select-id').children('option:selected').text();
在这种情况下,我更喜欢孩子们,因为你知道你只能沿着DOM树走一个分支。