javascript - C# 从下拉列表中获取值
问题描述
我正在尝试在下拉菜单中获取所选可能性的值。如果选择“生产”,我想获得值 =“产品”。但我不会工作。
<div class="btn dropdown-toggle col-sm-2" type="button" id="menu1" data-
toggle="dropdown" style="font-size: 10px;">
Alle
<span class="caret" style="text-align:center"></span>
</div>
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
<li role="presentation"><a value="all" role="menuitem" tabindex="-1"
href="#">All</a></li>
<li role="presentation"><a value="prod" role="menuitem" tabindex="-1"
href="#">Production</a></li>
<li role="presentation"><a value="hour" role="menuitem" tabindex="-1"
href="#">Hour</a></li>
<li role="presentation"><a value="adhoc" role="menuitem" tabindex="-1"
href="#">Adhoc</a></li>
</ul>
我一直在尝试使用: var e = document.getElementById("menu1"); ,但我只能用 var type = e.innerText.toString(); 获得 innerText =“Production”,但无法获得值....
我知道存在一个类似的问题:Get value from Dropdown,但答案在我的情况下不起作用。有什么建议么 ?
解决方案
获取内部文本并找到a
带有它的元素,然后您可以获得值
var e = document.getElementById("menu1");
var element = $( "#menu1 a:contains('"+ e.innerText.toString() +"')" );
var value = element.attr('value');
PS:我创建了一个有效的 Bootstrap 3 下拉实现的演示。您可以看到在更改下拉值时它会打印 value 属性
$('.dropdown-menu').on( 'click', 'a', function() {
var text = $(this).html();
console.log('Value changed to ', $(this).attr('value'));
var htmlText = text + ' <span class="caret"></span>';
$(this).closest('.dropdown').find('.dropdown-toggle').html(htmlText);
});
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
<li role="presentation"><a value="all" role="menuitem" tabindex="-1"
href="#">All</a></li>
<li role="presentation"><a value="prod" role="menuitem" tabindex="-1"
href="#">Production</a></li>
<li role="presentation"><a value="hour" role="menuitem" tabindex="-1"
href="#">Hour</a></li>
<li role="presentation"><a value="adhoc" role="menuitem" tabindex="-1"
href="#">Adhoc</a></li>
</ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
推荐阅读
- r - R:有向图与无向图(参数被忽略,潜在警告消息)
- javascript - 动态更改画布的 feColorMatrix 值
- angular - 如何使用 switchMap 而不是嵌套订阅?
- javascript - 用 Javascript 替换对象数组中的项目
- sql - 即使从多个连接同时调用,SQL Server 序列是否保证始终生成唯一值?
- git - Azure Devops 指定的登录会话不存在
- javascript - 使用带有反应路由器的材料ui选项卡?
- flutter - 为什么我的颤动 TextField initialState 不起作用
- python - How to SetData in a QtableView Cell using pyside
- html - 性能测试 - 多个 websocket 连接