質問

私は自分のウェブサイトで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))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top