Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 使用动态ID更改select上的事件处理程序_Javascript_Jquery - Fatal编程技术网

Javascript 使用动态ID更改select上的事件处理程序

Javascript 使用动态ID更改select上的事件处理程序,javascript,jquery,Javascript,Jquery,我有一个页面,上面有几个选择,如下所示: <div class="forms"> <div class="activity_form" id="activity_8"> <select id="activity_projectuser_id" name="activity[projectuser_id]"> <option value="1">1</option> <option value="

我有一个页面,上面有几个选择,如下所示:

<div class="forms">
  <div class="activity_form" id="activity_8">
    <select id="activity_projectuser_id" name="activity[projectuser_id]">
      <option value="1">1</option>
      <option value="2">2</option>
    </select>
  </div>
  <div class="activity_form" id="activity_9">
    <select id="activity_projectuser_id" name="activity[projectuser_id]">
      <option value="1">1</option>
      <option value="2">2</option>
    </select>
  </div>
</div>  
如何更改事件处理程序,使其在任何
活动
id上工作?

请尝试此选择器

$('[name^="activity"]').change(function() { ... });

这将假定您的名字以
活动
开头。您还可以使用通配符
*
而不是
^
来表示包含活动。

ID必须是唯一的。您可以根据他们的
名称来确定他们的目标:

$('.activity_form [name="activity[projectuser_id]"]').change(function() { //or $('.activity_form select')
  console.log("yes!");
});

“我有一个页面,上面有几个选项,如下所示:”然后你有一个无效页面。您不能在多个元素上使用相同的
id
activity\u projectuser\u id
)。我同意,我也会这样做,但接受的答案完美地回答了我关于如何处理动态选择的要求JHOHN-如果您想这样匹配所有元素,效果会更好,因为除了工作,它不鼓励保留无效的
id
值。(在我的回答中,我认为您想要一个基于活动ID的特定答案,但如果您想要所有答案,Milind's会给出正确的答案。)同意并更新已接受的答案。谢谢甚至只是
$('[name=“activity[projectuser\u id]”])…
我切换到name,是否要删除你的否决票?我原本以为他在selects上有ID,但它在parent div上。所以这实际上是Milind的答案,现在您已经编辑了它,除了它匹配任何名称以
activity
开头的内容,而不是OP说他/她想要的元素。
$('.activity_form [name="activity[projectuser_id]"]').change(function() { //or $('.activity_form select')
  console.log("yes!");
});