1

WebサイトでjQueryUIのオートコンプリートを使用していて、正常に機能していますが、システムを再設計しているため、これを変更する必要があります。現在、オートコンプリートは入力の下部で開きます。ただし、jQueryでもCSSでも、カスタム位置に強制することはできません。

私はこれを試しました:

    $('#search').autocomplete('widget').css({
        'margin-left': -200
        //or
        left: 200
    });

また、ルールに!importantを追加してみましたが、影響はありません。

また、cssを.ui-autocompleteに追加しようとしましたが、結果はありませんでした。

ボックスを開くと、これらすべての変更が上書きされるようです。これについて何か考えはありますか?私は本当に解決策を必要としています。

ありがとう、Martti Laine

4

3 に答える 3

1

NeoSwfと同様に、オートコンプリートがDOMの下部近くに挿入されていることがわかりました。見つける$(this).next()ためにそれは壊れやすいです。の代わりにthis、のようなより具体的なものを使用することをお勧めします'ul.ui-autocomplete'。これが私のバージョンのCoffeeScriptです。

jQuery ->
  $('#search').autocomplete
    open: (event, ui) ->
      $('ul.ui-autocomplete').css('left', (index, value) ->
        return 200 + parseInt(value))
于 2012-06-13T18:27:05.700 に答える
1

これを行うために、open()にオプションの関数を提供できます。

例:

 $("#search").autocomplete({ 
                            open: function(event, ui) 
                                  {$(this).next().css('left',
                                    function(index, value) {return 200+parseInt(value)});
                                  }
    });

...通常の位置から200px左に位置を設定します

于 2010-10-13T20:00:47.443 に答える
1

オートコンプリートはDOMの最後で開きます。トリガー入力にまったく近づいていません...トリガー入力のインデックスを調べて、オートコンプリートの対応するインデックスを見つけることを考えていますが、理由はわかりません-それは私にとって十分に堅牢ではないようです。

于 2011-03-03T22:45:20.353 に答える