使用Java语言选择下拉菜单值或文本

问题描述 投票:0回答:1

我正在尝试获取下拉列表的值,并使用Javascript将其存储在变量中。我搜索了几篇文章,并且大多数情况下找到了JQuery方法(这种方法不适用于我,可能无法正确实现它们),但是我更喜欢使用纯Javascript方法。

解决方案已审查:Get selected value in dropdown list using JavaScript此解决方案使用<option> HTML标签作为我使用<div>标签的位置。

我还实现了一个JQuery函数,该函数允许下拉菜单中的选定值替换按钮文本,这是否可能妨碍我实现获取该值的功能?

我似乎正在寻找的所有解决方案都包含option标记。

JS:

let valueElement = document.querySelector(".dropdown-menu");
let strUsers = valueElement.option[valueElement.selectedIndex].text;
console.log(`User Selected: ${strUsers}`)

我可能不应该使用.option

HTML:

      <div class="btn-group">
        <button class="btn btn-info dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          User
          <span class="caret"></span>
        </button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenu1">
          <a class="dropdown-item" href="#" data-value="Admin-0">Admin-0</a>
          <a class="dropdown-item" href="#" data-value="Admin-1">Admin-1</a>
          <a class="dropdown-item" href="#" data-value="Admin-2">Admin-2</a>
        </div>
      </div>
javascript html dom
1个回答
0
投票

如果创建定制选择下拉列表,则不能使用selectIndex属性,因为selectIndex仅在<select>元素上可用,而options属性仅在<select>上可用

https://www.w3schools.com/jsref/prop_select_selectedindex.asp

您需要做一些不同的事情,您可以在下拉菜单中的<a>上附加一个事件侦听器,并放置一个类来告诉您用户是否选择

希望对您有帮助

© www.soinside.com 2019 - 2024. All rights reserved.