jquery .on(更改)特定ID

编辑:对不起,我很累,代码实际上是在写这里写的! WTF:D

我在同一页面上有许多不同的下拉菜单,并且当它们发生变化时不想做AJAX请求。

如果我这样做,它的工作原理:

$(document).on('change', '#changeresponsibleuser', function(){ var user = $(this).val(); var partnerid = $(this).attr('name'); $.ajax({ type: "POST", url: "resources/dialogs/editResponsibleUser.php", data: {user: user, partnerid: partnerid}, success: function(msg){ $('.productmessage').html(msg).hide().fadeIn(500).fadeOut(4000); }, }); }); 

但是我在页面上的所有下拉框中都有这个trickers。 我不想这样做:

  $(document).ready(function(){ $("#changeresponsibleuser").on('change',function(){ var user = $(this).val(); var partnerid = $(this).attr('name'); $.ajax({ type: "POST", url: "resources/dialogs/editResponsibleUser.php", data: {user: user, partnerid: partnerid}, success: function(msg){ $('.productmessage').html(msg).hide().fadeIn(500).fadeOut(4000); }, }); }); }); 

所以它只收听具有该确切ID的下拉列表。 但它不起作用,不会触发on change事件。

如何在#changeresponsibleuser更改时触发事件?

标记看起来像这样:

  One user Another user yet another user  

提前致谢!

 $(function(){ $("#changeresponsibleuser").on('change', function(){ alert("Works"); }) }); 
   

您是否正在使用AJAX下载ID changeresponsibleuser负责人? 如果您这样做,则意味着下拉列表不适用于文档就绪的绑定更改事件。 相反,你可以使用 – select onchange="function_name()"

你可以在这个函数中编写你的ajax请求。

你的加价:

  

你的js喜欢:

 $(function() { $("#changeresponsibleuser").change(function() { // do your stuff }); }); 

不要忘记在标记中包含jQuery lib。