2011-02-08 11 views
4

현재 수년간 표준 선택 입력이 있습니다. 현재 클릭하면 1900-2000 년까지 긴 목록이 표시되며 스크롤해야합니다.입력 태그 선택 - 클릭시 중간 날짜 선택

위아래로 스크롤 할 수 있도록 클릭하면 중간에 표시되는 방법이 있습니까?

저는 이것이 약간의 의미가 있기를 바랍니다.

+1

중간 값을 기본값으로 선택 하시겠습니까? 아니면 스크롤 상자를 바로 아래가 아닌 선택 요소 위와 아래에 표시 하시겠습니까? – Benubird

+0

맞음 : 바로 아래가 아닌 select 요소 위와 아래에 스크롤 상자가 나타납니다. – amaseuk

+0

대략 중간에 있다면 괜찮을까요? (최악의 경우 10 시까 지) – Knu

답변

2

사용 selected 속성

<select name="years"> 
    <option>1900</option> 
    <option>1901</option> 
    <option>1902</option> 
    <option>1903</option> 
    <option>1904</option> 
    <option selected="selected">1905</option> 
    <option>1906</option> 
    <option>1907</option> 
    <option>1908</option> 
    <option>1909</option> 
    <option>1910</option> 
    </select> 

예 : http://jsfiddle.net/tnU4K/

+0

이 방법의 큰 단점은 기본적으로 유효한 값이 선택되므로이 입력을 강제로 수행 할 수 없다는 것입니다. –

+0

@Andy E 예. 또 다른 옵션은 일반 텍스트로 비년 값을 가질 수 있으며 사용자가 클릭하여 자바 스크립트에서 제거 할 수 있습니다. – Sotiris

0

어딘가에 기본적으로 선택 중간 (아마도 1950)의 주위에 값을 확인합니다. 누군가가 선택을 클릭하면 선택한 값이 표시되어 위 또는 아래로 스크롤 할 수 있습니다.

1

드롭 다운 <select> 요소의 경우? 표준화 된 크로스 브라우저 방식이 아닙니다. (테스트되지 않음) 일부 브라우저는 목록이 표시되어있는 동안 select 요소의 scrollTop 속성을 조작 할 수는 있지만 그 값에는 미치지 않습니다. 가운데에서 시작하는 유일한 방법은 중간 연도를 기본적으로 선택하는 것입니다.

개인적으로 나는 신경 쓰지 않을 것입니다. 대부분의 사용자는 <select> 요소를 어쨌든 집중하는 동안 입력 할 수 있음을 알고 있습니다. — 드물게 드롭 다운에서 옵션을 선택하기 위해 마우스를 사용합니다 <select>.

0

당신은 항상 돼지 야생 가서 무언가를 사용하여이 JQuery와 같이 수 :

//get number of options 
var optCount = $('#example option').length; 
//divide by 2 and round up for odd numbers 
var midPoint = Math.round(optCount/2); 
//select that index item 
$("#example option:eq(midPoint)").attr("selected", "selected"); 

나는 시험하지 않았다 그러나 그것은 작동합니다.