下拉项选中时获取到选中值的文本

1.下拉项选中时,触发onChanged这个方法
2.可以在方法中获取到值,但怎样获取到选中值的文本呢?

<select onchange="onChanged(this)"><option value="">--Select--</option>
<option value="1">Valve1</option>
<option value="4">Value2</option>
</select>

   function onChanged(obj) {
       debugger       
       var d = obj.value;//可以获取到值
       var d2 = obj.text();  //不可以获取文本
   }
  • 试试这样

<select onchange="onChanged(this)">
  <option value="">--Select--</option>
  <option value="1">Valve1</option>
  <option value="4">Value2</option>
</select>

<script>
  function onChanged(obj) {
    var selectedText = obj.options[obj.selectedIndex].text;
    console.log(selectedText);
  }
</script>

【以下回答由 GPT 生成】

问题解答:

要获取选中值的文本,可以使用 selectedIndex 属性获取选中选项的索引,然后通过 options 属性获取对应索引的选项元素,最后使用 innerText 属性获取选项的文本。

修改代码如下:

<select onchange="onChanged(this)">
    <option value="">--请选择--</option>
    <option value="1">选项1</option>
    <option value="2">选项2</option>
</select>

<script>
function onChanged(obj) {
    var selectedIndex = obj.selectedIndex;
    var selectedOption = obj.options[selectedIndex];
    var text = selectedOption.innerText;
    console.log(text);
}
</script>

onChanged 函数中,首先通过 selectedIndex 获取选中选项的索引,然后使用 options 属性获取选项元素,再通过 innerText 属性获取选项的文本。最后将文本打印到控制台。

需要注意的是,innerText 是一个非标准属性,对应的标准属性是 textContent,两者的功能类似,都可以获取元素的文本。但在一些旧版本的浏览器中,可能不支持 innerText


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^