L'événement de sélection automatique Jquery a été déclenché mais ne peut pas remplacer une valeur différente en entrée

Voici mon code:

select: function (event, ui) {
            if (ui.item.value != "Match not found") {
                $(this).val(ui.item.value + "test");
            } else {
                $(this).val("");
            }
        }

J'ai toujours reçu l'original ui.item.value après avoir sélectionné un élément de suggestion. Je n'ai jamais reçu la valeur ui.item.value + "test"

0

2 Réponses

J'ai eu ce problème. J'ai oublié d'empêcher le comportement par défaut d'afficher l'élément sélectionné. En fait, ci-dessous est la solution. Je n'ai pas besoin d'autre instruction car j'utilise le comportement par défaut de choisir l'élément sélectionné.

select: function (event, ui) {
            if (ui.item.value == "Match not found") {
                $(this).val("");
event.preventDefault();

            } 
        }
0
ajouté

Je pense que $ (this) ne pointe pas vers l'objet correct. Utilisez le nom de classe de l'élément à la place de ceci.

0
ajouté
J'ai vérifié avec le débogueur et (ceci) le point pour corriger l'élément d'entrée. Je pourrais faire une alerte ($ (this) .val ()) et m'a montré quelle que soit ma contribution.
ajouté l'auteur ttacompu, source