私は単純な検索用語提案ツールにJquery UI Autocompleteプラグインを使用しています。結果ボックスを移動できないことを除いて、問題なく稼働しています。基本的に、左に20ピクセル、下に4ピクセル移動する必要があります。 Jquery UI CSSを上書きしようとしましたが、ボックスを再配置できませんでした。
この問題を経験した人からの助けがあれば大歓迎です。
open
イベントをタップして、そのイベントが発生したときにメニューの位置を変更する方法の1つを次に示します。
$("#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" });
}
});
メニューを含むappendTo
を簡単に見つけるためにul
オプションも使用しています。ただし、このオプションがなくても実行できます。
これが実際の例です: http://jsfiddle.net/9QmPr/
これは position
オプション 、具体的には offset
property を使用して簡単に実現できます。
$('#myField').autocomplete({
source: …,
position: {
offset: '20 4' // Shift 20px to the left, 4px down.
}
});
このようなものもうまくいくでしょう
open : function(){
$(".ui-autocomplete:visible").css({top:"+=5",left:"-=2"});
},
このオプションを使用する方が良いようです
appendTo: "#autocomplete_target_wrapper",
menudocking: {
menucorner: "right top",
inputcorner: "right bottom",
collision: "none"
}
公式リンク https://forum.jquery.com/topic/autocomplete-menu-docking-position