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.

22
demandé sur JP1971 2011-06-07 23:48:28

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/

24
répondu Andrew Whitaker 2011-06-08 00:53:53

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.
    }
});
21
répondu jensgram 2012-08-14 11:21:42

quelque Chose comme ce serait trop de travail

open : function(){
        $(".ui-autocomplete:visible").css({top:"+=5",left:"-=2"});
    },
15
répondu goksel 2011-11-19 22:09:49

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

0
répondu Savickii Stanislav 2015-06-23 14:09:58