본문 바로가기
Program

셀렉트박스에서 키보드 초성에 해당하는 값 자동select

본문

<select multiple size=10 style='width:90' onkeypress='chkCode(this,event.keyCode)'>
<option>하라</option>
<option>이나다</option>
<option>키나다</option>
<option>파나다</option>
<option>차나다</option>
<option>시나다</option>
<option>빵나다</option>
<option>사나다</option>
<option>시나다</option>
<option>고나다</option>
<option>시나다</option>
<option>귀나다</option>
<option>있나다</option>

</select>

<SCRIPT LANGUAGE="JavaScript">
<!--
var re;
function chkCode(obj,evn){
evn=String.fromCharCode(evn).toUpperCase().charCodeAt(0)

    switch(evn){
        case 82:re=/[가-낗]/;break; //ㄱ
        case 83:re=/[나-닣]/;break; //ㄴ
        case 69:re=/[다-띻]/;break; //ㄷ
        case 70:re=/[라-맇]/;break; //ㄹ
        case 65:re=/[마-밓]/;break; //ㅁ
        case 81:re=/[바-삫]/;break; //ㅂ
        case 84:re=/[사-앃]/;break; //ㅅ
        case 68:re=/[아-잏]/;break; //ㅇ
        case 87:re=/[자-찧]/;break; //ㅈ
        case 67:re=/[차-칳]/;break; //ㅊ
        case 90:re=/[카-킿]/;break; //ㅋ
        case 88:re=/[타-팋]/;break; //ㅌ
        case 86:re=/[파-핗]/;break; //ㅍ
        case 71:re=/[하-힣]/;break; //ㅎ
    }
    dataCode(obj,re)
}
var cnt2=0;
function dataCode(obj,re){
var tmpdata=new Array();
var cnt=-1;
    for(i=0;i<=obj.length-1;i++){
            if(re.test(obj.options[i].text.substr(0,1))) {cnt++;tmpdata[cnt]=i;}
    }
tmpdata.length-1<=cnt2 ? cnt2=0:cnt2++;
obj.selectedIndex=tmpdata[cnt2]
}
//-->
</SCRIPT>
영문값의 경우 해당키를 누르면 자동 셀렉트 되는데 한글은 안되서 만들어 봤습니다.
선택되는값은 한글과 영문 혼용시 영문 우선입니다.
ime-mode 영문상태만 적용됩니다.
[이 게시물은 듀라님에 의해 2015-04-03 10:08:13 워드프레스에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:27:24 Public에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:33:53 팁과강좌에서 이동 됨]
[이 게시물은 최고관리자님에 의해 2017-06-10 14:26:12 JavaScript에서 이동 됨]
0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

l2j (121.♡.101.20) 작성일07-05-02 14:17 조회2,043회 댓글0건

댓글목록

등록된 댓글이 없습니다.

Program 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로