繁体   English   中英

Javascript从基于标签的选择选项中获取价值

[英]Javascript get value from select option based on label

使用jQuery或纯JavaScript,如何基于标签获取选择选项的ID? 因此,例如,给出以下内容:

<select id="blah">
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
</select>

如果我有标签“ Two”,但是我需要知道与之关联的值,那么如何从选择中获得该值? 我不想简单地选择它,我需要知道值是什么。

如果您拥有的唯一参考确实是实际的文本内容,那么您将不得不遍历元素并检查每个元素的内容。 此处显示的是jQuery,因为它的类型更少:

var result;
$("option").each(function() {
    if ($(this).text() == "Two") {
        result = $(this).attr("value");
        return false;
    });
});

另外一个选项:

$('#blah').find('option:contains("Two")').val();

(双关打算吗?)

获取所有选项,然后使用find获得带有特定文本的选项。

 const optionEls = Array.from(document.querySelectorAll("#blah option")); const hasText = text => el => el.textContent === text; const optionWithTwo = optionEls.find(hasText("Two")); console.log(optionWithTwo.value); 
 <select id=blah> <option value=1>One</option> <option value=2>Two</option> <option value=3>Three</option> </select> 

暂无
暂无

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

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