2010-10-21 8 views
4

Actuellement, l'action de saisie semi-automatique en appuyant sur la touche Enter sur un élément sélectionné consiste à mettre cette valeur d'éléments dans la zone de saisie.jquery saisie semi-automatique touche entrée

Comment puis-je modifier le comportement de sorte que l'appui sur la touche Enter sur un élément déclenche l'insertion de l'élément url. Pour simplifier, j'aimerais que la touche Enter ait le même comportement qu'un clic de souris sur un élément retourné.

Merci

Répondre

1

C'est la fonction qui est appelée lorsque vous sélectionnez un élément et appuyez sur Entrée. Le code hacky que vous voyez dans cette fonction extrait le href du lien et redirige vers cette URL.

$("#searchBox").result(function(event, data, formatted) { 
     var p = data.toString(); 
     p = p.replace('<a href="', ''); 
     var url = p.substr(0, p.indexOf('"')); 
     p = p.replace('</a>', ''); 
     p = p.substr(p.indexOf('>') + 1, p.length - p.indexOf('>') - 1); 
     window.location = "" + url; 
     return false; 
    }); 
2

Facile!

$(".quicksearch-input").autocomplete({ 

    minLength: 4, // minimum length to trigger suggestions 

    // ... + other configuration options 

    select: function(e, ui) { // define select handler 

    var uri = ui.item.link; // where ui.item.link itself is defined in your object which you composing when retrieving JSON from endpoint 

    window.location = uri; // forwarding to the URL obtained 

    }, // select // 
}); 

Mais tout dépend de votre mode de mise en œuvre.

Questions connexes