繁体   English   中英

使用 JavaScript 获取所选选项的值时,xxx.value 和 xxx.options[xxx.selectedIndex].value 有什么区别?

[英]What is the difference between xxx.value and xxx.options[xxx.selectedIndex].value to get the value of selected option with JavaScript?

经过一些研究和测试,我发现这两种方法都会产生相同的结果。 所以我只是想知道两者之间有什么区别:

function buildUrl() {
  compType = document.querySelector('[name = "c-type"]');
  compTypeValue = compType.value;

}

function buildUrl() {
   compType = document.querySelector('[name = "c-type"]');
   compTypeValue = compType.options[compType.selectedIndex].value;

}
<form id="custom-drop">
  <select name="c-type" id="compressor-type">
    <option value="screw">Screw</option>
    <option value="scroll">Sroll</option>
    <option value="centrifugal">Centrifugal</option>
    <option value="piston">Piston</option>
  </select>
</form>

我确实阅读了与该主题相关的问题( thisthis ),但我找不到任何解释它们的差异。

select 元素跟踪当前选定项的值和选定项的索引。

在您的第一个示例中,您访问当前选定选项的值。 在第二个中,您将获得整个选项元素,该元素位于所选索引位置处。 通过访问它的值成员,您可以返回它的值。

通过这个你得到相同的结果。 但是,我将第二种方法称为 hacky 并且不考虑这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM