Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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 附加到更改函数_Javascript_Jquery - Fatal编程技术网

Javascript 附加到更改函数

Javascript 附加到更改函数,javascript,jquery,Javascript,Jquery,我有三个表单:foo、bar和baz,其中包含相同的复选框集: <form id="foo_form" method="post" action="foo"> <input class="foo checkbox" id="foo_select_1" name="ids[]" type="checkbox" value="1" /> <input class="foo checkbox" id="foo_select_2" name="ids[]" type

我有三个表单:foobarbaz,其中包含相同的复选框集:

<form id="foo_form" method="post" action="foo">
  <input class="foo checkbox" id="foo_select_1" name="ids[]" type="checkbox" value="1" />
  <input class="foo checkbox" id="foo_select_2" name="ids[]" type="checkbox" value="2" />
  <input class="foo checkbox" id="foo_select_3" name="ids[]" type="checkbox" value="3" />
  ...
  <input type="submit" value="action 1" />
</form>
我经营的是:

clone_checkboxes_values('foo_form', 'foo_select', 'bar_select');
它会将foo上的每个复选框更改复制到栏中。 我希望再次调用
clone\u复选框\u values
,将更改复制到baz(不要覆盖
change(function(){})
,而是附加到它。我不知道如何做。请帮助

这是所有预先准备好的文件。

这不管用吗

clone_checkboxes_values('foo_form', 'foo_select', 'baz_select');
默认情况下,jQuery不会覆盖事件处理程序。换句话说,对change()的任何后续调用都只会将一个新的事件处理程序添加到上一个事件处理程序中。对于其他事件绑定函数(如click()),它的工作原理相同。事件处理程序将按照绑定到事件的顺序依次运行

换句话说,如果我理论上执行以下调用

$(<selector>).bind(<event>, <function1>)
$(<selector>).bind(<event>, <function2>)
$().bind(,)
$().bind(,)

当出现
时,将执行
函数1
,然后将执行
函数2
,我想您已经解决了。您需要做的就是调用此函数:

clone_checkboxes_values('foo_form', 'foo_select', 'baz_select');
可能是因为在
baz_select
之前缺少了一个
,所以它不起作用


我不知道。这就是jQuery背后的魔力。有趣。有没有办法用jQuery-than覆盖它?我只是好奇。@pawel7318您可以使用jQuery或执行以下任一操作:(1)删除特定事件处理程序,(2)删除特定事件的所有处理程序,(3)删除所有事件处理程序。@JLRishe是对的。$().off().on(,)将在绑定新的处理程序之前清除所有以前的处理程序。
clone_checkboxes_values('foo_form', 'foo_select', 'baz_select');