Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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
Javascript 为什么这个onchange-select选项和函数运行多个jQuery[非常混乱]_Javascript_Jquery - Fatal编程技术网

Javascript 为什么这个onchange-select选项和函数运行多个jQuery[非常混乱]

Javascript 为什么这个onchange-select选项和函数运行多个jQuery[非常混乱],javascript,jquery,Javascript,Jquery,我在选择选项更改后运行函数,但为什么函数在选择选项多次更改后运行多次 $document.readyfunction{ $document.on'change'、'bbp\u forum\u id',函数E{ var值=$this.val; 选择_valuevalue; }; 变量选择值=函数值{ $'bbp_主题标签'。在'keyup'上,函数{ console.log$this.val+值; }; } }; 选择 A. B C 问题是因为每次更改select时都要附加一个新的keyup事件

我在选择选项更改后运行函数,但为什么函数在选择选项多次更改后运行多次

$document.readyfunction{ $document.on'change'、'bbp\u forum\u id',函数E{ var值=$this.val; 选择_valuevalue; }; 变量选择值=函数值{ $'bbp_主题标签'。在'keyup'上,函数{ console.log$this.val+值; }; } }; 选择 A. B C
问题是因为每次更改select时都要附加一个新的keyup事件处理程序

要解决这个问题,您只需要删除change事件处理程序并在加载时附加keyup处理程序。然后,当按下每个键时,您可以从选择中读取值,如下所示:

$'bbp_主题标签'。在'keyup'上,函数{ console.log$this.val+$'bbp_forum_id'.val; }; 选择 A. B C
这里的问题是,当您更改下拉列表时,将新的keyup事件添加到输入中

$(document).ready(function() {
      $(document).on('change', '#bbp_forum_id', function(e) {
        var value = $('#bbp_forum_id').val();
        select_value(value);
      });

      $('#bbp_topic_tags').on('keyup', function() {
       console.log($(this).val() + $('#bbp_forum_id').val());
      });


      var select_value = function(value) {
        console.log($('#bbp_topic_tags').val() + value);
      }
    });

因为在每次更改时添加一个新的keyup事件处理程序,所以这个问题是因为每次更改select时都附加一个新的keyup事件处理程序。要解决这个问题,您只需要删除更改事件处理程序并在加载时附加keyup处理程序。Rory McCorsan,您能给我举个例子吗?我为您添加了一个答案。很好!谢谢。谢谢你的回答,这段代码很有用。但我需要简单的解决方案