如何获得选定的下拉值
How to get selected dropdown value
本文关键字:何获得 更新时间:2023-09-26
我有一个像这样的下拉菜单:
<ul class="dropdown-menu" id="Appdropdown">
</ul>
,我正在使用以下代码动态填充
for (var i = 0; i < arrdropdownMenuItems.length; i++)
{
dropdownMenuhtml += '<li><a href="#">' + arrdropdownMenuItems[i] + '</a></li>';
}
$('#ApplicationNames').css("visibility", "visible");
$('#Appdropdown').append(dropdownMenuhtml);
现在,当用户单击<a>
时,我需要获得所选的下拉值。-我试过了:
$('ul#Appdropdown').click(function ()
{
var cache = $('.btn-primary').children();
$('.btn-primary').text($(this).text()).append(cache);
}
但是它没有给出从下拉菜单中选择的值
虽然侦听父元素而不是子事件的click是不正确的,但您的需求仍然可以使用以下代码完成。
基本上你可以从click event传递的事件数据中获取被点击的实际元素。
$('ul#Appdropdown').click(function (ev) {
var a = $(ev.target);
if(a.is("a"))
$('#selectedText').text($(a).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu" id ="Appdropdown">
<li><a href="#">Test A</a></li>
<li><a href="#">Test B</a></li>
<li><a href="#">Test C</a></li>
<li><a href="#">Test D</a></li>
<li><a href="#">Test E</a></li>
</ul>
<div id="selectedText"></div>
代码中缺少的一些东西
首先确保您在document.ready
中编写整个代码,然后确保您在li
单击而不是ul
上触发单击事件。接下来,当您使用.on
动态创建控件时。
$(document).ready(function() {
$('ul#Appdropdownli li').on('click', function() {
var selctedtext = $(this).find('a').html();
console.log(selctedtext);
});
});
您可以使用以下代码获得所选的下拉值。
请注意,#selectedText
的引用保存在a
的事件处理程序之外,因此不需要额外的dom查询。
var selectedText = $('#selectedText');
$('#Appdropdown > li > a').on('click', function(event) {
selectedText.text($(event.target).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-menu" id="Appdropdown">
<li><a href="#">Test A</a></li>
<li><a href="#">Test B</a></li>
<li><a href="#">Test C</a></li>
<li><a href="#">Test D</a></li>
<li><a href="#">Test E</a></li>
</ul>
<div id="selectedText"></div>
可以为每个选项添加一个类/id,然后为该类添加一个事件侦听器,如下所示:
Html:<ul class="dropdown-menu">
<li><button class="dropdown-option">Option 1</button></li>
<li><button class="dropdown-option">Option 2</button></li>
<li><button class="dropdown-option">Option 3</button></li>
<li><button class="dropdown-option">Option 4</button></li>
<li><button class="dropdown-option">Option 5</button></li>
</ul>
JavaScript: $('.dropdown-option').click(function () {
console.log($(this).html());
});
$(this)
是被点击的实际元素。
非常简单的解决方案,也可以很容易地转换为普通javascript。
JSfiddle示例
相关文章:
- 如何在下面的ES6循环中获得前面的文本
- 我可以获得相对于被点击元素的确切点击位置吗
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 如何在javascript中获得与特定数字相等的随机数
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- 我怎样才能获得承诺的价值
- 检查元素是如何获得焦点的
- javascript处理一个对象数组以获得一个新的对象数组
- 如何更改<选择>使用angularJS从控制器获得的值
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 有没有一种方法可以获得three.js的最小/lite版本
- 如何获得随机灯光颜色
- JavaScript,JQuery.需要帮助才能获得'name'从我的JSON中删除
- 如何通过单击html按钮获得h1的文本值
- 如何获得字幕显示与zurbs基金会's轨道滑块