IEO Menu
Info
Login
:: 전체게시물
:: HTML 특수문자
C/C++
Javascript
IT/TIP
개발/TIP
개발/리눅스관리
OSX/Windows
잡담/잡동사니
라이딩일기
자가정비/튜닝
유머사진 모음
HTML Select Box, 셀렉트 박스를 DIV/HTML로
Read: 12657
2016-08-30 16:29:33
심심해서, Select box 를 HTML 로 구현했다.
그렇게 구현하는 이유는 Option 안에 이미지 출력이나, 필요한 HTML 처리 등이 어렵기 때문이다.
그리고 디자인도 원하는 대로 바꿀수 있고...
non-jquery 처리하려다 귀찮아서.. 그냥.. jQuery 버전이다.
적당히 이용하면 된다.
<?php function htmlSelectBox(&$array,$name='',$def='',$option='') { $TITLE=''; $OP=''; foreach($array as $v) { if(!$TITLE || $DEF==$v['KEY']){$TITLE=$v['VAL'];} $OP.='<div class="InputSelectOptionList" data-value="'.$v['KEY'].'">'.$v['VAL'].'</div>'; } $H='<div class="InputSelect">'; $H.='<input type="hidden" name="'.$name.'" value="'.$def.'" class="InputSelectValue">'; $H.='<div class="InputTitle"'.$option.'>'.$TITLE.'</div>'; $H.='<div class="InputSelectOption">'.$OP.'</div>'; $H.='</div>'; return $H; } ?>
<style> .InputSelect { display:block; position:relative; width:100%; } .InputSelect .InputTitle { width:100%; height:24px; cursor:pointer; line-height:22px; background-color: #fff; padding:0px 10px; border-radius:4px; border:1px solid #ccc; border-right:5px solid #ccc; } .InputSelect .InputSelectOption { display:none; position:absolute; width:100%; background:#fff; border:1px solid #888; border-radius:4px; top:25px; left:0px; overflow:hidden; box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5); z-index:10; } .InputSelect .InputSelectOptionList { border-bottom:1px solid #ddd; padding:0px 10px; line-height:28px; color:#888; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;white-space:nowrap;word-wrap:normal; } .InputSelect .InputSelectOptionList:hover { background:#eee; } .InputSelect .InputSelectOptionList:last-child { border-bottom:0px; } </style> <script> $(document).ready(function(){ $(".InputSelect").click(function(){ $(this).children('.InputSelectOption').toggle(); }); $(".InputSelectOptionList").click(function(){ var nid=$(this).parent().parent(); if(!nid){return;} var nid_title=nid.children('.InputTitle'); var nid_value=nid.children('.InputSelectValue'); if(nid_title) { nid_title.html($(this).html()); } if(nid_value) { nid_value.val($(this).data('value')); } }); }); </script>
사이트에 맞게 디자인 하고, 드롭다운 화살표를 첨가하면 좀더 좋아질것이고.. 드롭다운 애니메이션을 넣으면 더 좋아질것이다.
목록
이전
다음
개발/TIP
CSS 말줄임
text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; overflow:hidden; display:-webkit-b ... more
2016-07-29 16:02:41
PHP ===, !== 비교연산자. 무엇에 쓰는 물건인고?
$a=1; $b="1"; if($a==$b){echo '1, == 동일<br>';} // 출력 if($a===$b){ ... more
2016-07-27 09:24:12
Tinymce File Uploader / 위지윅 에디터에 파일업로더 만들어 붙이기.
2016-07-21 16:23:38
일부 영역/iframe 확대/축소, Zoom 처리
2016-07-18 13:12:19
결국 PHP 소스 관리툴을 만들었다. Tiny 프로젝트라도 하나할까?
2016-07-07 15:42:50
HTML 특수문자
특수문자가 필요한 이유는 여러가지가 있지만. DB를 위한 인코딩 목적으로 ... more
2016-07-05 11:31:47
네임서버(DNS) 주소 목록
KT olleh (올레; 구 QOOK(쿡)) 기본 DNS 서버 주소 - 168.126.63.1 보조 DNS 서버 주소 ... more
2016-07-05 09:04:43
Input file css (style), Input 파일 버튼 스타일 시트
2016-07-01 10:03:31
HTML 테이블을 배열로 "HTML Table to Array" for PHP
function HTMLTable2Array($file) { if(!is_file($file)){return array();} // DOM 기반 HTML 처 ... more
2016-06-30 16:20:06
$_GET, $_POST, $_REQUEST 에 대하여
처음 PHP를 공부할때 $_POST, $_GET, $_REQUEST 그 목적에 맞게 사용한다 라고 공 ... more
2016-06-30 09:02:33
<<
<
0
1
2
>
>>
토쳐라이딩 | IEO.KR
IEO.KR의 사전 서면동의 없이 IEO.KR 사이트의 일체의 정보, 콘덴츠 및 UI등을 상업적 목적으로 전재, 전송, 스크래핑 등 무단 사용할 수 없습니다.