2

私はjQuery UIのオートコンプリート機能を付けているテキストボックスを持っていますが、CSSを使用して例を使って最大高さを与えようとしていますhere。私の問題は、これを行うと、bgiframeがもう一度戻ってくるZ-インデックスの問題を引き起こしますが、別のやり方で起こります。最初のオートコンプリートメニューは、その下にあるすべてのコントロールの上にありますが、スクロールを開始するとオートコンプリートメニューが表示されます。jQuery UIオートスクロールバーZ-インデックスヘルプ

提案がありますか?

編集:

これは純粋にIE6バグです。あなたが見ることができるように

alt text

alt text

は、オートコンプリートを下にスクロールした後、他のコントロールの後ろに下がります。

答えて

0

javascriptを使用してフォーム要素(またはそのコンテナ)のZ-インデックスの順序を逆にする必要があります。つまり、「ソーシャルワーカー」が最も低く、「DXコード」が最も高いzインデックスです。

+0

問題は、オートコンプリートボックスがjQueryプラグインによって動的に生成され、それ自身のZ-インデックスを処理することです。私はこれを試してみて結果を投稿します。ありがとう – rpf3

2

私は(jquery.bgiframe.jsから)次の行にscrollHeightによってoffsetHeightを置き換えることで問題を解決できます。この変更は、とのオートコンプリートフィールドのバグを解決し

height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+

垂直スクロールバー。私は他の種類の対話で回帰を見つけることができませんでした(しかし、私は広範なテストを実行しませんでした)。

+0

私はbgiframeでバグを開いた:http://plugins.jquery。com/content/bgiframe-height-wrong-wrapping-div-scrollbars – Siggen

+0

この変更を行うとIE6がフリーズします。オートコンプリート・テキストボックスに入力を開始するとフリーズし、使用しているjQueryUIイメージのいずれかがロードされていると言います。 – rpf3

0

Siggenのように、offsetHeightをscrollHeightに変更できますが、オートコンプリートから返される結果が1つしかないときに問題が発生しました。 1つの結果は、2 pxの高さしかないようなウィンドウに詰め込まれます。 私は解決策を見つけました。 data.lengthが<の場合、scrollHeightではなくoffsetHeightを使用する必要があります。

autocomplete.jsを変更する必要があります。

Locate this code: 
if($.fn.bgiframe)list.bgiframe(); 

そして、それはこの行います

if($.fn.bgiframe){ 
    if(data.length<2) 
     list.bgiframe({height:'expression(this.parentNode.offsetHeight+\'px\')'}); 
    else 
     list.bgiframe(); 
} 

は覚えているが、このコードはSIGGENの修正と組み合わせて使用​​する必要があります。私はこのような高さのために、両方のパラメータの組み合わせを使用している

0

は、MAX関数を見てください。スクロールバーがなくてもいいです(短いリストと長いリストもあります)

これで、オートコンプリートコンポーネントはIE6で完璧に見えます。