Jquery 更改事件未触发第一个选项值
我有一个菜单html选择标签,有一些菜单,如:Jquery 更改事件未触发第一个选项值,jquery,html,Jquery,Html,我有一个菜单html选择标签,有一些菜单,如: <select class="menu"> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> <option value="4">Four</option> <
<select class="menu">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
问题是第一个选项值(一)已被选择,且on选项不会触发该选项的change
事件
有什么办法吗?你应该
第一次触发它
$(".menu").change(function (evt) {
alert($(evt.target).val())
}).change(); // or .trigger('change');
您可以添加一个虚拟值:
<select class="menu">
<option value="">Select one...</option>
选择一个。。。
尝试以下代码
$(".menu").change(function (evt) {
alert($(evt.target).val());
}).trigger('change');
我今天就有这个问题。您可以通过以下方式解决此问题:
只需初始设置select标记(无任何值),然后所有选项都可以选择:
document.querySelector('.menu').value = '';
然后添加你的addEventListener。我为此挣扎了这么长时间,@holmes2136建议添加一个触发器对我有效。谢谢
$(".menu").change(function (evt) {
alert($(evt.target).val());
}).trigger('change');
第一次从下拉列表中选择“一”,仍然不会触发事件。@naveenyadav逻辑上不会触发更改事件,请参阅从0-1
更改将触发更改,但在0-0
的情况下,OP可能会在页面加载时对值进行处理,因此这不是一个好的解决方案。@putvande,也许不是。OP没有说明最终目标是什么,所以除了OP之外,其他人很难说出这是不是一个好的解决方案。
$(".menu").change(function (evt) {
alert($(evt.target).val());
}).trigger('change');