Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 更改事件未触发第一个选项值_Jquery_Html - Fatal编程技术网

Jquery 更改事件未触发第一个选项值

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> <

我有一个菜单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>
问题是第一个选项值(一)已被选择,且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');