2011-04-07 3 views
0

요소에서 엘리베이터를 어떻게 제거합니까? 이상적으로, jquery를 사용하여 상자의 요소 수를 계산하고 n보다 크면 스크롤을 숨기고 싶습니다.scroll elevator를 <select>에서 제거 listbox

의견을 보내 주셔서 감사합니다.

답변

0

음처럼 그들을 다시 넣을 수 있도록 TEH internets 당신이 CSS/jQuery를 함께 할 수 없어 계속 얘기 옵션을 저장 한 :

http://www.webdeveloper.com/forum/showthread.php?t=154496Hide vertical scrollbar in <select> element

<select> 요소는 "일반"요소가 아닙니다. 그것의 렌더링은 CSS를 통해 완전히 제어 할 수있는 것 같지 않습니다. height/width/et al을 설정할 수 있지만 overflow 속성은 설정할 수 없습니다. JQuery는 원래 DOM이로드 된 후에 만 ​​요소 자체를 수정하거나 CSS 규칙을 적용 할 수 있습니다.

당신이 할 수있는 jQuery UI library에서 사용자 정의 컨트롤을 찾을 수 있습니다.

+0

확인, 그것은 아무도 지금까지 그것을 할 수있었습니다 같습니다; 구글을 보았고 그것이 합의로 보인다. – frenchie

0

난 그냥 당신이

내가 위의 바이올린 여기

는 HTML

입니다 수정 **이 jsfiddle

** 편집과 같이 표시 할 번호보다 큰 항목을 숨겨

<select name="foo" id="myselect" multiple="true" siz="4"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
    <option>5</option> 
    <option>6</option> 
</select> 
<input type="checkbox" id="mycheckbox" /> 

및 jQuery

$('#myselect').data('removedOptions', $('#myselect > option:gt(3)').detach()); 

난 당신이

var $dropdown = $('#myselect'); 
    $dropdown.prepend($dropdown.data('removedOptions')); 
0

@mcgrailm : 귀하의 솔루션은 Chrome에서 작동하지 않습니다. 그래서 hide() 함수 대신 remove() 함수를 사용하여 코드를 사용할 수 있습니다. 여기

는 @mcgrailm의 또 다른 버전입니다 : http://jsfiddle.net/vietean/W4nzn/1/