Jquery 获取选项';s值的文本形式

Jquery 获取选项';s值的文本形式,jquery,Jquery,我有以下资料: <select name="dayRange" class="styled"> <option value="0">All day</option> <option value="1">Morning and day (8:00 - 18:00)</option> <option value="2">Evening(18:00 - 6:00)</option> </select&

我有以下资料:

<select name="dayRange" class="styled">
  <option value="0">All day</option>
  <option value="1">Morning and day (8:00 - 18:00)</option>
  <option value="2">Evening(18:00 - 6:00)</option>
</select>

整天
早上和白天(8:00-18:00)
晚上(18:00-6:00)
如何获取特定文本的
例如:为
全天返回

谢谢。

我想你需要浏览一下

$("select.styled option").each(function(a,b) {
     if ($(this).html() == "All day") {
        return $(this).val();
     }
});
或者使用.filter()


另一个解决方案是选择这样的项目

$('select[name="dayRange"] > option:contains("All Day")').val()
您可以将其添加到函数中,并用函数参数替换“全天”

(如果您的选择不为null,则只需在调用.val()之前进行检查)

编辑:

最后的职能是:

getDayRangeValue = function(rangeName) {
    // will return undefined if range doesn't exist.
    return $('select[name="dayRange"] > option:contains("' + rangeName + '")').val();
}

这确实是最好的解决方案!!谢谢@Mordhak
$('select[name="dayRange"] > option:contains("All Day")').val()
getDayRangeValue = function(rangeName) {
    // will return undefined if range doesn't exist.
    return $('select[name="dayRange"] > option:contains("' + rangeName + '")').val();
}