Déclencher une action après la sélection select2

J’utilise la bibliothèque select2 pour ma recherche.
est-il possible de déclencher une action après avoir sélectionné un résultat de recherche? par exemple, ouvrir une fenêtre contextuelle ou une simple alerte js.

$("#e6").select2({ placeholder: "Enter an item id please", minimumInputLength: 1, ajax: { // instead of writing the function to execute the request we use Select2's convenient helper url: "index.php?r=sia/searchresults", dataType: 'jsonp', quietMillis: 3000, data: function (term, page) { return { q: term, // search term page_limit: 10, id: 10 }; }, results: function (data, page) { // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to alter remote JSON data return {results: data}; }, }, formatResult: movieFormatResult, // omitted for brevity, see the source of this page formatSelection: movieFormatSelection, // omitted for brevity, see the source of this page dropdownCssClass: "bigdrop", // apply css that makes the dropdown taller escapeMarkup: function (m) { return m; } // we do not want to escape markup since we are displaying html in results }); 

Voir la section événements de documentation

Selon la version, l’un des extraits ci-dessous devrait vous donner l’événement souhaité, ou bien remplacer simplement “select2-selection” par “change”.

Version 4.0 +

Les événements sont maintenant au format: select2:selecting (au lieu de select2-selecting )

Merci à snakey pour la notification que cela a changé à partir de 4.0

 $('#yourselect').on("select2:selecting", function(e) { // what you would like to happen }); 

Version avant 4.0

 $('#yourselect').on("select2-selecting", function(e) { // what you would like to happen }); 

Juste pour clarifier, la documentation pour la select2-selecting de select2-selecting lit:

select2-selected Fired lorsqu’un choix est sélectionné dans la liste déroulante, mais avant toute modification de la sélection. Cet événement permet à l’utilisateur de refuser la sélection en appelant event.preventDefault ()

alors que le changement a:

changer Fired lorsque la sélection est modifiée.

Par conséquent, le change peut être plus approprié à vos besoins, selon que vous souhaitez que la sélection se termine et que vous fassiez ensuite votre événement, ou que vous bloquiez le changement.

Des modifications ont été apscopes aux noms des événements select2 (je pense au v. 4 et aux versions ultérieures), de sorte que le ‘-‘ est changé en ceci : ‘:’ .
Voir les exemples suivants:

 $('#select').on("select2:select", function(e) { //Do stuff }); 

Vous pouvez vérifier tous les événements sur le site du plug-in «select2»: select2 Events

Ça marche pour moi:

 $('#yourselect').on("change", function(e) { // what you would like to happen });