8
votes

Comment prévenir l'événement de sélection par défaut dans l'autoocomplète JQuery

Les documents jQuery autocomplete pour le Sélectionnez (Evénement, UI) Code > Option Dites:

déclenché lorsqu'un élément est sélectionné dans le menu; ui.item fait référence à l'élément sélectionné. L'action par défaut de sélection est de remplacer le texte Valeur du champ avec la valeur de l'élément sélectionné. P>

L'annulation de cet événement empêche la valeur de la mise à jour, mais ne pas empêcher le menu de la fermeture. p> BlockQuote>

Alors, comment puis-je annuler l'événement? Voici mon code. P>

$("#txt1").autocomplete({
    minLength: 1,
    source:  "abc.php",
    select: function(event, ui) 
    {
        event.preventDefault();
        //alert("Select");
        var label= ui.item.label;
        var value= ui.item.value;
        $('#txt1').val(ui.item.label);
    }
});


0 commentaires

3 Réponses :


-1
votes

Utilisation de ce paramètre SelectFirst: faux


0 commentaires

10
votes

Je sais que c'est une très vieille question, mais je viens de rencontrer moi-même le problème. La réponse pour moi est de mettre événement.preventdefault (); à la fin de la méthode de sélection comme ceci: xxx

pour moi, si événement. PREVENDDEFAULT (); est mis au début de la fonction, l'événement par défaut ne tire pas et le reste de la fonction n'exécute pas. Si cela est déplacé à la fin, cela fonctionne comme prévu. J'espère que cela aide quelqu'un d'autre.


0 commentaires

0
votes

C'est donc un peu un piratage qui a fonctionné pour moi: dans mon cas, sélectionnez une entrée dans le pulldown (soit par la souris clic, soit à l'aide des touches fléchées pour mettre en surbrillance et frapper Entrée), j'utilisais la valeur Pour construire une URL, puis envoyer le navigateur, mais il est toujours copié dans la zone de recherche. Aucune des réponses que j'ai essayées a travaillé pour empêcher cela. Donc, pour arrêter code> Valeur Code> étant affichée dans la zone de recherche, j'ai formulé la valeur code> identique que étiquette code> dans mon JSON et ajouté un champ supplémentaire Code Code> que mon Sélectionnez CODE> Utilisation du gestionnaire d'événements Pour construire l'URL dont j'ai besoin:

$( "#autocomplete" ).autocomplete({
  source: "http://www.example.com/search",
  minlength: 2,
  select: function( event, ui ) {
    // go to page on ENTER
    window.location.href = "/page/" + ui.item.code;
  }
});


0 commentaires