Javascript 根据选择控件的值查找选项文本

Javascript 根据选择控件的值查找选项文本,javascript,jquery,Javascript,Jquery,我有一个select控件,如下所示: <select name="MyName" id="MyID"> <option value ="1">1 day</option> <option value ="2">2 days</option> <option value ="3">3 days</option> <option value ="4">4 days</option&g

我有一个select控件,如下所示:

<select name="MyName" id="MyID">
  <option value ="1">1 day</option>
  <option value ="2">2 days</option>
  <option value ="3">3 days</option>
  <option value ="4">4 days</option>
<select>

一天
2天
三天
4天
我希望根据该值获取选项的文本。例如,如果我输入2,它应该返回“2天”

谢谢你的建议。

试试这个:

$('#MyID').change(function(){

   alert($("option[value="+this.value+"]", this).text()); 
     //added so it only finds options in this select element  

})
小提琴:另一种可能是:

$('select').change(function(){
    alert($('option[value = "' + $(this).val + '"]', this).text());
});

如果您有多个选择。

可能重复的|已经有很多类似的问题。他说的是文字,不是价值。编辑:啊,你已经编辑了。很好。@T.J.Crowder我修正了我的答案^ ^我正试图安排MyID是否是选择器的一部分,比如$(#MyID选项…);我觉得我已经很接近了,但我还没有。你也可以在选择器中添加MyID,比如$(“#MyID选项[value=“”+YourValue+”).html();好的,这样行。做了一个小的调整:alert($('option[value='+MyVal+']',$('#MyID')).html());这样我就可以把MyVal作为参数。谢谢这是一种很奇怪的方式。更简单:
alert($('#MyID option[value=2]').text())
,如我链接到的问题中所示。为什么要序列化DOM?
$('select').change(function(){
    alert($('option[value = "' + $(this).val + '"]', this).text());
});