jQuery autocomplete touche enter problème
J'ai une zone de texte pour la recherche à l'aide de jQuery autocomplete. Quand je tape quelque chose dans la zone de texte, c'est de montrer les suggestions dont aucune n'est sélectionnée.
J'ai trouvé que selectFirst: vrai n'est pas pris en charge maintenant. Si je sélectionne un élément dans la liste déroulante et appuyez sur entrée, il fonctionne très bien.
Le problème est que si l'utilisateur entre application pour apple et appuie sur la touche entrée, il tente de soumettre le formulaire avec application. Le formulaire ne doit être soumis à l'une des valeurs de la liste déroulante.
J'ai essayé de désactiver la soumettre le formulaire en appuyant sur entrer pour que je puisse envoyer le formulaire à partir de JavaScript, mais ne pouvait pas trouver une solution.
Voici mon code:
$("#searchtext").autocomplete({
source: path + 'autocompletesearch?category=' + $("select[name='category'] option:selected").val(),
width: '500px',
matchContains: true,
select: function(event, ui){
$(".searchform").attr("action", path + "fullproductinfo/" + ui.item.id);
$("input[name='searchid']").val(ui.item.value);
$(".searchform").submit();
}
});
Et mon formulaire:
<form method="post" action="search" class="searchform">
<div class="searchdiv">
<input type="text" id="searchtext" name="searchtext"
placeholder="Search a product or a brand" autocomplete="off"/>
</div>
<div class="searchbutton">
<input type="button" name="btnsearchproduct" value="Search" />
</div>
<div class="clear"></div>
</form>
Remarque qu'il y a <input type='button'
et pas "soumettre", donc par défaut en appuyant sur enter ne devrait pas travailler pour la forme. C'est la saisie semi-automatique, je suppose que c'est de la soumission du formulaire sur "soumettre".
selectFirst
option fonctionne, vous pouvez avoir la première option afin d'être ciblé par défaut?Oui, ce serait mieux, mais selectFirst ne fonctionne pas
OriginalL'auteur Ashutosh | 2014-07-10
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez ceci: http://jqueryui.com/autocomplete/
Alors vous voulez premier élément de
autoFocus
, vous pouvez utiliser cette option maintenant:Mentionné dans la documentation: http://api.jqueryui.com/autocomplete/
MODIFIER
Puisque vous devez entrer la clé de problème, vous pouvez essayer comme ceci:
OriginalL'auteur j809
Si vous utilisez jquery ui pour auto complète, tous vous avez besoin est de spécifier la mise au point automatique: véritable option.
Il sélectionne automatiquement le premier résultat et lorsque appuyez sur la touche entrée, il utilise le premier résultat.
OriginalL'auteur Annie C
J'ai eu un problème similaire & voilà comment j'ai résolu il
OriginalL'auteur AK Imran