2009-04-06 7 views
3

나는 Internet Explorer (6,8)에있는 문제를 해결하는 가장 쉬운 해결책을 찾고 있는데 CSS이거나 jQuery를 사용하고 있습니다. 정의 된 너비를 가진 SELECT 입력이 있습니다 (레이아웃에 위치하기 때문에). 정의 된 너비 선택 때문에 Firefox의 & Safari에서와 달리 값의 전체 길이를 표시하도록 크기가 자동 조정됩니다.IE 입력 선택 상자

분명히 일반적인 문제일까요? 어떤 아이디어?

예제 코드 :

<select id="Grouping_662066" class="productSelectInput" name="AddToCart_Grouping" onchange="DrawProduct(36331,662066,this.value,'',true);"> 
</select> 

I 클래스 'productSelectInput'는 CMS 시스템을 사용하고 웹 사이트를 통해 consistand 될 것을 유일한 식별자입니다. ID, nameonchange 속성이 변경됩니다.

답변

4

Here은 jQuery를 사용하는 정보 및 솔루션입니다.

+0

그 해결책은 잘못되었습니다. 해결책은 * 더 나은 것입니다 : http://www.hedgerwow.com/360/dhtml/ui_select_with_fixed_width/ie-select-width-fix.js –

+0

솔루션은 훌륭하게 작동했습니다. 권장 해 준 솔루션이이 초 크세이 푸쉬에 대해 갖는 특권은 무엇입니까? – mattt

+0

오, 기쁘다. 나는 링크의 하단에있는 몇 가지 코멘트를 언급했다. 선택 상자에서 마우스를 올리거나 내릴 때 IE의 문서가 그 흐름에서 급격히 벗어납니다. 페이지의 선택 상자 오른쪽에 아무 것도 없을 수도 있습니다. –

1

이러한 제약 조건을 감안할 때 IE에서 제안 할 수있는 유일한 방법은 글꼴 크기를 줄이는 것입니다.

다른 방법이 있는지 확실하지 않습니다.

0

내가 아는 한, 이것은 브라우저 문제 (IE)입니다.

& nbsp; 초점을 맞추고 이벤트를 흐리게 처리하여 Javascript로 동적으로 옵션을 감싸거나 크기를 조절할 수 있습니다. 또한 css 및 javascript ('select'가 아닌 'ul')로 드롭 다운 메뉴를 만들고 인터페이스를 완벽하게 제어 할 수 있습니다. (onBlur, 자바 스크립트 숨겨진 된 입력 값을 작성해야합니다).

0

ie8이 psuedo-class : focus를 지원하는 경우 선택을 클릭 할 때 더 큰 너비를 지정할 수 있습니다. ie6에서는 작동하지 않을 것이며, 아마 ie7에서는 작동하지 않을 것입니다.

1

onmousedown, onblur 및 onchange 함수를 사용하여 요소 CSS를 조작하는 정규 Javacript를 사용할 수 있습니다. 다음은 동일한 함수를 사용하여 jQuery에서 솔루션을 찾는 방법입니다.

var example = $('#some-id'); 

    $(example).mousedown(function() { 
      $(this).css('width','400px');        
    }); 
    $(example).blur(function({ 
      $(this).css('width','200px');        
    }); 
    $(example).change(function() { 
      $(this).css('width','200px');        
    });