2

jQuery UI의 자동 완성 기능을 첨부 할 텍스트 상자가 있으며 CSS를 사용하여 최대 높이를 예제 here으로 지정하고 있습니다. 내 문제는이 일을하는 것은 bgiframe가 다시 돌아 오지만 다른 방식으로 돌아 오는 Z- 색인 문제를 유발한다는 것입니다. 초기 자동 완성 메뉴는 그 아래에있는 모든 컨트롤 위에 있지만 자동 스크롤 메뉴가 스크롤되기 시작하면 자동 완성 메뉴가 그 뒤에 표시됩니다.jQuery UI 스크롤 막대 Z- 색인 도움말을 사용하여 자동 완성

제안 사항?

편집 :

이것은 순전히 IE6 버그입니다. 당신이 볼 수 있듯이

alt text

alt text

은, 자동 완성을 아래로 스크롤 한 후 다른 컨트롤 뒤에 떨어진다.

답변

0

자바 스크립트를 사용하여 양식 요소 (또는 해당 컨테이너)의 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에서 버그를 열었습니다.co.kr/content/bgiframe-height-wrong-when-wrapping-div-scrollbars – Siggen

+0

IE6이 변경되면 자동으로 멈 춥니 다. Autocomplete Textbox에서 타이핑을 시작하면 사용하는 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

는이 같은 높이 모두 매개 변수의 조합을 사용하고 있습니다 : 최대 기능에

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

봐. 이제는 스크롤 막대가 없으므로 (짧은 목록과 긴 목록도 마찬가지 임)

이제 자동 완성 구성 요소는 IE6에서 완벽하게 보입니다.