Déclencher une action après la sélection select2
Je suis en utilisant select2 bibliothèque pour ma recherche.
est-il possible de déclencher une action après la sélection d'un résultat de recherche? par exemple, ouvrir une fenêtre, ou une simple js alerte.
$("#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
});
- Vous pouvez lier à la "changer" de l'événement, il y a une section "Événements" sur le lien que tu as donné avec un très long extrait de code pour toutes les différentes liaisons d'événements.
Vous devez vous connecter pour publier un commentaire.
Voir le documentation de la section événements
Selon la version, l'un des extraits de code ci-dessous devrait vous donner l'événement que vous souhaitez, sinon il suffit de remplacer "select2-en sélectionnant" avec "changement".
Version 4.0 +
Les événements sont maintenant en format:
select2:selecting
(au lieu deselect2-selecting
)Grâce à snakey pour la notification que cela a changé que de 4,0
Version Avant 4.0
Juste pour clarifier, la documentation de
select2-selecting
lit:alors que le changement a:
Donc
change
peut être plus approprié pour vos besoins, selon que vous souhaitez que la sélection terminée, puis faire de votre événement, ou potentiellement bloquer le changement.Il y a apporté quelques modifications à la select2 événements noms (je pense que sur le v. 4 et les versions ultérieures) de sorte que le '-' est changé en ce ':'.
Voir les exemples suivants:
Vous pouvez consulter tous les événements à la "select2' plugin site:
select2 Événements
Ça fonctionne pour moi:
.change
événement vient plus tard dans la série d'exécutions queselect2:select
événement. Pour moi, j'ai essayé de capturer l'sélectionnez css surselect2:select
mais même si je l'ai vu sur inspecteur, je ne pouvais pas saisie parselect2:select
- quand j'ai changé de.change
cela a fonctionné parce que Select2 feuxselect2:select
événement avant la mise à jour de la css pour l'original, sélectionnez .. un peu fou, à mon avis.Comme pour mon utilisation ci-dessus v. 4 cela va fonctionner
Et moins de la v. 4 cela va fonctionner:
e.params.args.data
Ci-dessus v4