尝试使用Class选择下拉选项

时间:2016-07-25 15:15:06

标签: javascript jquery



function() {
  return $('.category w-select option:selected').text();
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select required="required" class="category w-select" name="categories">
  <option value="" selected="selected">- Please select one -</option>
  <option value="1">Jewelry</option>
  <option value="2">Luxury Watch</option>
  <option value="3">Precious Metal or Stones</option>
  <option value="4">Electronics</option>
  <option value="5">Tools, Equipment</option>
  <option value="6">Musical Instruments, Equipment</option>
  <option value="7">Vehicle</option>
  <option value="8">Gun</option>
  <option value="9">Other</option>
  <option value="10">Antique, Collectible</option>
  <option value="11">Designer Wear &amp; Handbags</option>
</select>
&#13;
&#13;
&#13;

想要在返回时获得下拉选项文本,但我已经尝试过,但在重新调整时没有获得任何下拉选项。您是否知道我可以获得重新调整选项的价值

3 个答案:

答案 0 :(得分:2)

首先,select元素的选择器不正确。您还需要将代码放在change事件处理程序中。最后,您需要处理事件处理程序中的值 - 您无法从匿名函数返回任何内容。试试这个:

$('.category.w-select').change(function() { // Note the joined selector
    var selectedText = $(this).find('option:selected').text();

    // use selectedText here...
    console.log(selectedText);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select required="required" class="category w-select" name="categories">
  <option value="" selected="selected">- Please select one -</option>
  <option value="1">Jewelry</option>
  <option value="2">Luxury Watch</option>
  <option value="3">Precious Metal or Stones</option>
  <option value="4">Electronics</option>
  <option value="5">Tools, Equipment</option>
  <option value="6">Musical Instruments, Equipment</option>
  <option value="7">Vehicle</option>
  <option value="8">Gun</option>
  <option value="9">Other</option>
  <option value="10">Antique, Collectible</option>
  <option value="11">Designer Wear &amp; Handbags</option>
</select>

答案 1 :(得分:1)

只使用一个班级

$('.category option:selected').text()

https://jsfiddle.net/moshekarmel1/e71j1j3a/

答案 2 :(得分:0)

在选择器中,要么只使用一个类,要么使用.来分隔类而不是空格。即。 $('.category.w-select option:selected').text()$('.category option:selected').text()

在onchange处理程序中使用该函数将帮助您在值更改时获取值。如果没有它,只有当文档加载一次时才会执行功能。

$(function() {
  $('.category.w-select').on('change', function(){
     console.log( $('.category.w-select option:selected').text());
  })
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select required="required" class="category w-select" name="categories">
  <option value="" selected="selected">- Please select one -</option>
  <option value="1">Jewelry</option>
  <option value="2">Luxury Watch</option>
  <option value="3">Precious Metal or Stones</option>
  <option value="4">Electronics</option>
  <option value="5">Tools, Equipment</option>
  <option value="6">Musical Instruments, Equipment</option>
  <option value="7">Vehicle</option>
  <option value="8">Gun</option>
  <option value="9">Other</option>
  <option value="10">Antique, Collectible</option>
  <option value="11">Designer Wear &amp; Handbags</option>
</select>