Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 - Fatal编程技术网

Jquery “更改事件”下拉列表的困境

Jquery “更改事件”下拉列表的困境,jquery,Jquery,您好,下面是我正在做的: $("#categorys").change(function () { //$(document).on('click', '#categorys', function(){ alert('changed or clicked'); }); 当我使用.change时,js调试器上不会发生任何错误,当我对同一下拉菜单使用on click事件时,它会返回警报。一旦下拉列表值更改,我将能够提醒this.val请帮助我使用此选项解决问题:

您好,下面是我正在做的:

  $("#categorys").change(function () {
//$(document).on('click', '#categorys', function(){ 
        alert('changed or clicked');     
 });

当我使用.change时,js调试器上不会发生任何错误,当我对同一下拉菜单使用on click事件时,它会返回警报。一旦下拉列表值更改,我将能够提醒this.val请帮助

我使用此选项解决问题:

$(document).on('change', '#categorys', function(){ 
        alert($(this).val());     


    });

这是因为您对单击事件使用事件委派,所以您需要对更改事件执行相同的操作:


顺便说一句,只有在动态添加select时才会发生此行为。

是否将categorys元素动态添加到页面?如果这解决了您的问题,那么几乎可以肯定的是,categorys是在事件绑定后添加到DOM中的。原始语法完全有效,但要求元素在绑定时存在。通过使用on语法,实际上是将事件绑定到文档,允许它捕获动态添加元素中冒泡的事件。
$(document).on('change', '#categorys', function(){ 
    alert('changed or clicked');     
});