我有一个菜单html选择标记,其中包含一些菜单:
<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>
我正在聆听change
事件的选项选择。
$(".menu").change(function (evt) {
alert($(evt.target).val())
})
问题是第一个选项值(一个)已被选中,并且选项不会触发该选项的change
事件。
http://jsfiddle.net/navyad/Yfs4u/205/
任何方式?
答案 0 :(得分:4)
你应该第一次trigger
,
$(".menu").change(function (evt) {
alert($(evt.target).val())
}).change(); // or .trigger('change');
答案 1 :(得分:1)
我为此苦苦思索了很长时间,@ holmes2136提出的添加触发器的建议对我很有用。谢谢。
$(".menu").change(function (evt) {
alert($(evt.target).val());
}).trigger('change');
答案 2 :(得分:0)
您可以添加虚拟值:
<select class="menu">
<option value="">Select one...</option>
答案 3 :(得分:0)
尝试以下代码
$(".menu").change(function (evt) {
alert($(evt.target).val());
}).trigger('change');
答案 4 :(得分:0)
我今天刚遇到这个问题。你可以这样解决问题:
最初只设置没有任何值的select标签,然后所有选项都可以选择:
document.querySelector('.menu').value = '';
然后添加你的addEventListener。