jquery .on (change) sur un ID spécifique

EDIT: Désolé, j’étais très fatigué et le code fonctionnait réellement lorsque vous écrivez ici! WTF: D

J’ai plusieurs listes déroulantes différentes sur la même page et je ne souhaite pas faire de demande AJAX lorsque l’une de ces modifications change.

Si je le fais de cette façon, ça marche:

$(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); }, }); }); 

Mais cette astuce sur toutes les listes déroulantes que j’ai sur la page. Je ne veux pas faire quelque chose comme ça:

  $(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); }, }); }); }); 

Donc, il écoute UNIQUEMENT la liste déroulante avec cet ID exact. Mais cela ne fonctionne pas, l’événement on change n’est pas déclenché.

Comment puis-je déclencher l’événement uniquement lorsque #changeresponsibleuser change?

Le balisage ressemble à ceci:

  One user Another user yet another user  

Merci d’avance!

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

changeresponsibleuser -vous des menus déroulants avec id changeresponsibleuser avec AJAX? Si vous faites cela, cela signifie que la liste déroulante n’est pas disponible pour relier l’événement de changement sur le document prêt. Au lieu de cela, vous pouvez utiliser – select onchange="function_name()"

et vous pouvez écrire votre demande ajax dans cette fonction.

Votre balisage:

  

Et votre js aime:

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

N’oubliez pas d’inclure jQuery lib dans votre balisage.