获取 select 中特定索引的框值 jQuery

Get select box value of a particular index in jQuery

我有一个 Select 框,可以在其中 select 编辑多个选项。现在我想获取特定索引的值。我怎样才能做到这一点?例如,我有一个 select 框,它具有以下值:

0 - 苹果 1 - 橙色 2 - 香蕉 3 - 菠萝

现在我想获取索引 2 的值,即 Banana。我如何在 jQuery 中执行此操作?

如果 select 框的值和文本具有相同的值,您可以使用 eq()val() 获得第二个 select 的值,如下所示:

console.log($("select option:eq(2)").val());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
  <option value="Apple">Apple</option>
  <option value="Orange">Orange</option>
  <option value="Banana">Banana</option>
  <option value="Pineapple">Pineapple</option>
</select>

如果 select 有数值和文本,您可以使用 eq()text():

得到文本“Banana”

console.log($("select option:eq(2)").text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
  <option value="0">Apple</option>
  <option value="1">Orange</option>
  <option value="2">Banana</option>
  <option value="3">Pineapple</option>
</select>

如果您想获取带有文本“Banana”的选项的值,您可以使用 filter():

console.log($("select option").filter(function () { return $(this).html() == "Banana"; }).val());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
  <option value="0">Apple</option>
  <option value="1">Orange</option>
  <option value="2">Banana</option>
  <option value="3">Pineapple</option>
</select>