我正在尝试获取下拉列表的值,并使用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>
如果创建定制选择下拉列表,则不能使用selectIndex属性,因为selectIndex仅在<select>
元素上可用,而options属性仅在<select>
上可用
https://www.w3schools.com/jsref/prop_select_selectedindex.asp
您需要做一些不同的事情,您可以在下拉菜单中的<a>
上附加一个事件侦听器,并放置一个类来告诉您用户是否选择
希望对您有帮助