如何使用jQuery获取选择的所有选项?

2022-08-29 23:14:32

如何通过传递其ID通过jQuery获取选择的所有选项?

我只是在寻找他们的价值,而不是文本。


答案 1

用:

$("#id option").each(function()
{
    // Add $(this).val() to your list
});

.each() |jQuery API Documentation


答案 2

没有jQuery我知道HTMLSelectElement元素包含一个选项属性,这是一个HTMLOptionsCollection

const myOpts = document.getElementById('yourselect').options;
console.log(myOpts[0].value) //=> Value of the first option

一个12岁的答案。让我们对它进行一些现代化改造(使用 ,将结果传播到并映射值)。.querySelectorAllHTMLOptionsCollectionArray

// helper to retrieve an array of elements using a css selector
const nodes = selector => [...document.querySelectorAll(selector)];

const results = {
  pojs: nodes(`#demo option`).map(o => o.value),
  jq: $(`#demo option`).toArray().map( o => o.value ),
}
console.log( `pojs: [${results.pojs.slice(0, 5)}]` );
console.log( `jq: [${results.jq.slice(0, 5)}]` );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="demo">
  <option value="Belgium">Belgium</option>
  <option value="Botswana">Botswana</option>
  <option value="Burkina Faso">Burkina Faso</option>
  <option value="Burundi">Burundi</option>
  <option value="China">China</option>
  <option value="France">France</option>
  <option value="Germany">Germany</option>
  <option value="India">India</option>
  <option value="Japan">Japan</option>
  <option value="Malaysia">Malaysia</option>
  <option value="Mali">Mali</option>
  <option value="Namibia">Namibia</option>
  <option value="Netherlands">Netherlands</option>
  <option value="North Korea">North Korea</option>
  <option value="South Korea">South Korea</option>
  <option value="Spain">Spain</option>
  <option value="Sweden">Sweden</option>
  <option value="Uzbekistan">Uzbekistan</option>
  <option value="Zimbabwe">Zimbabwe</option>
</select>