jquery ui autocompleteを動かしますか?
-
30-09-2019 - |
質問
私は自分のウェブサイトでjquery UIのオートコンプリートを使用していますが、それは正常に動作していますが、システムを再設計しているので、これを変更する必要があります。現在、オートコンプリートは入力の下部に開きます。ただし、jQueryやCSSでは、カスタムポジションに強制することはできません。
私はこれを試しました:
$('#search').autocomplete('widget').css({
'margin-left': -200
//or
left: 200
});
また、ルールにとって重要ですが、影響はありません。
また、結果なしに.ui-autocompleteにCSSを追加しようとしました。
ボックスが開くと、これらすべての変更を上書きするようです。これについて何か考えはありますか?私は本当に解決策を必要としています。
ありがとう、マルティレイン
解決
Open()のオプション機能を提供して、これを行うことができます。
例:
$("#search").autocomplete({
open: function(event, ui)
{$(this).next().css('left',
function(index, value) {return 200+parseInt(value)});
}
});
...位置をポジションの残り200pxに設定します。
他のヒント
私のオートコンプリートは、DOMの終わりに開きます。トリガー入力にまったく近づいていません...トリガー入力のインデックスを見て、AutoCompleteの対応するインデックスを見つけることを考えていますが、理由はわかりません - それは私にとって十分に堅牢ではないようです。
NeoSWFのように、私は自分のオートコンプリートがDOMの底部近くに挿入されていることを発見しました。応じて $(this).next()
それを見つけることは壊れやすいです。それ以外の this
, 、より具体的なものを使用することをお勧めします 'ul.ui-autocomplete'
. 。これが私のバージョンのコーヒースクリプトです:
jQuery ->
$('#search').autocomplete
open: (event, ui) ->
$('ul.ui-autocomplete').css('left', (index, value) ->
return 200 + parseInt(value))
所属していません StackOverflow