Re-positionnement de Jquery UI Autocomplete Zone de Résultats
j'utilise le plugin jQuery UI Autocomplete pour un outil simple de suggestion de termes de recherche. Il fonctionne sans problème sauf que je ne peux pas déplacer la boîte de résultats. Je dois essentiellement le déplacer de 20 pixels à gauche et 4 pixels vers le bas. J'ai essayé d'écraser le jQuery UI CSS, mais n'ai pas été en mesure de repositionner la boîte.
toute aide d'une personne expérimentée dans ce domaine serait grandement appréciée.
4 réponses
Voici une façon de le faire, en puisant dans le open événement et de changer la position du menu lorsque cet événement se produit:
$("#autocomplete").autocomplete({
appendTo: "#results",
open: function() {
var position = $("#results").position(),
left = position.left, top = position.top;
$("#results > ul").css({left: left + 20 + "px",
top: top + 4 + "px" });
}
});
j'utilise aussi le appendTo option pour faire trouver le ul qui contient le menu facilement. Vous pourriez le faire sans cette option.
Voici un exemple: http://jsfiddle.net/9QmPr/
cela peut être facilement réalisé via le position option, plus précisément le offset propriété:
$('#myField').autocomplete({
source: …,
position: {
offset: '20 4' // Shift 20px to the left, 4px down.
}
});
quelque Chose comme ce serait trop de travail
open : function(){
$(".ui-autocomplete:visible").css({top:"+=5",left:"-=2"});
},
Il semble préférable d'utiliser cette option,
appendTo: "#autocomplete_target_wrapper",
menudocking: {
menucorner: "right top",
inputcorner: "right bottom",
collision: "none"
}
lien Officiel https://forum.jquery.com/topic/autocomplete-menu-docking-position