J'utilise tag-it plugin pour prendre des entrées d'étiquette de l'utilisateur. La source d'étiquette pour l'auto-complétion utilisée est par l'intermédiaire d'un appel ajax qui renvoie des objets json à l'aide desquels je mappe les valeurs et les noms des étiquettes à afficher à l'utilisateur. L'objet json contient également un ID pour chacune des balises que je ne veux pas montrer à l'utilisateur mais envoyer au serveur à la place de l'étiquette/valeur de balise. Pour ce faire, j'ai pensé que je pourrais utiliser une fonction sous "select" option généralement disponible en saisie semi-automatique. Cette fonction maintient un tableau de tous les ID sélectionnés par l'utilisateur. Mais la fonction select n'est tout simplement pas appelée lorsque je sélectionne une balise. Le code que j'utilise est le suivant:tag-it: fonction de sélection en saisie semi-automatique ne fonctionnant pas
$("#myTags").tagit({
allowSpaces: true,
autocomplete: {
source: function (request, response) {
$.ajax({
url: "http://localhost:5555/api/Tag",
dataType: "json",
data: {
strSearch: request.term
},
success: function (data) {
response($.map(data, function (item) {
return {
label: item.Name, //Use rest of the data to map IDs
value: item.Name,
ID: item.ID
}
}));
}
});
},
minLength: 1,
select: function (event, ui) {
console.log(ui.item.label + "=" + ui.item.ID);
}
}
});