2012-09-21 82 views
3

當前,自動完成結果框與我的輸入框的左邊緣對齊,並向右傳播的寬度與我給出的寬度相同。但是,我的業務需求是將其與輸入框的右邊緣對齊,並且如果輸入框位於頁面的較靠邊的一側,則將其向相反方向展開,因爲結果被剪切並且水平滾動被添加到視圖中完整的結果。 (我可以修改我的'jquery-ui.css')Jquery自動完成對齊

任何人都可以幫忙嗎?

回答

3

當前版本的jQuery UI允許爲自動填充小部件提供一個帶有選項的位置對象,具有與上述位置小部件相同的屬性。所以你可以用它來定位建議列表,只要你喜歡。

看到這裏http://jqueryui.com/demos/autocomplete/#option-position

,如果你需要改變位置dynamicaly - 你需要使用 「開放」 事件

代碼示例

//Supply a callback function to handle the open event as an init option. 
$(".selector").autocomplete({ 
    open: function(event, ui) { ... } 
}); 
//Bind to the open event by type: autocompleteopen. 
$(".selector").bind("autocompleteopen", function(event, ui) { 
    ... 
}); 

裏面他們,你可以改變位置自動排版形式css()

$('.ui-autocomplete').css({ 'left': x + 'px', 'top': y + 'px' }); 

PS:我不舒爾你可以在僅使用CSS實現,如位置取決於父HTML輸入字段

+0

感謝安東。它確實改變了定位。不過,我需要動態地做到這一點。我的結果寬度是650px。我需要檢查右側的空間是否足夠,結果沒有修剪,否則在左側顯示。我可以管理邏輯,但需要可以應用的事件/地點。 – guravman

+0

請參閱更新,我希望它可以幫助你... –

+0

工作!謝謝安東! – guravman