그누보드 폼 요소 디자인 개선을 위한 jQuery 플러그인 선택 및 적용 방법
페이지 정보

본문
투박한 그누보드 기본 selectbox와 checkbox 디자인을 깔끔하게 개선할 수 있는 jQuery 플러그인 종류와 실제 적용 및 충돌 방지 방법을 확인합니다.
그누보드 폼 요소 디자인 개선을 위한 jQuery 플러그인 모음
기본 HTML 폼 요소의 투박한 디자인을 커스텀하기 위해 그누보드 및 웹 프로젝트에서 활용할 수 있는 jQuery 플러그인 목록은 다음과 같습니다.
- Jquery.sumoselect: 다중 선택(multi-selected) 기능이 필요할 때 드롭다운 메뉴를 개선하는 데 활용할 수 있는 플러그인입니다.
- jQuery Nice Select: 셀렉트박스를
ul,li구조 등으로 변환하여 디자인을 꾸밀 수 있게 돕는 플러그인입니다. - SelectBoxIt: 셀렉트박스 요소를 커스텀 디자인으로 변환해 주는 플러그인입니다.
- pretty checkbox: 체크박스 요소를 보기 좋게 꾸밀 수 있는 라이브러리입니다.
- icheck-material: 머티리얼 디자인 스타일의 체크박스를 구현할 수 있는 플러그인입니다.
- Bootstrap Multiselect: 일반 셀렉트박스 내부에 체크박스를 넣어 다중 선택과 검색을 지원하는 플러그인입니다.
각 플러그인은 오픈소스 형태로 제공되며, 프로젝트 환경과 요구하는 폼 스타일(셀렉트박스, 다중 선택, 체크박스 등)에 맞춰 선택하여 적용할 수 있습니다.
그누보드 환경에서 셀렉트박스 플러그인 적용 및 초기화 방법
그누보드 또는 웹 프로젝트에서 셀렉트박스(Selectbox) 디자인을 개선하기 위해 jQuery 플러그인을 연동하고 초기화하려면, 라이브러리 파일 로드 후 대상 셀렉트 요소에 초기화 함수를 호출해야 합니다. 예를 들어 jQuery nice-select 플러그인을 사용할 때의 적용 절차는 다음과 같습니다.
1. 스크립트 및 스타일 파일 로드
페이지의 헤더나 대상 스킨 파일에 플러그인의 CSS와 JS 파일을 포함합니다. 예시로 CDN을 사용하는 경우 아래와 같이 불러올 수 있습니다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-nice-select/1.1.0/js/jquery.nice-select.min.js"></script>
게시판 등의 특정 환경에서만 적용하려면 PHP 조건문으로 감싸서 로드할 수 있습니다.
<?php if( $bo_table=='bbs') {?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-nice-select/1.1.0/js/jquery.nice-select.min.js"></script>
<?php }?>
2. HTML 마크업 작성
꾸미고자 하는 기본 <select> 요소에 식별자(id 또는 name 등)를 지정합니다.
<select id="selectBox" class="nice-select">
<option value="option1">옵션 1</option>
<option value="option2">옵션 2</option>
</select>
3. 플러그인 초기화 실행
문서가 로드된 시점에 jQuery를 이용해 선택자에 플러그인 함수를 연결하여 활성화합니다.
<script>
$(document).ready(function() {
$('#selectBox').niceSelect();
});
</script>
특정 네임 속성을 가진 셀렉트박스를 지정할 수도 있습니다.
<script>
$(document).ready(function(){
$("select[name='wr_3']").niceSelect();
});
</script>
특정 페이지 및 요소 스크립트 적용 제외 방법
전역 스크립트로 인해 특정 폼 요소가 깨지거나 원하지 않는 곳에 플러그인이 적용되는 문제를 방지하려면, 특정 셀렉트 요소에 대해 플러그인 효과를 해제하는 방법을 사용할 수 있습니다.
1. 적용 해제 방법
jQuery Nice Select플러그인을 특정 ID나 클래스에 적용하지 않거나 초기화를 해제하려면destroy메서드를 사용할 수 있습니다.- 개별 사례에서
$("#ca_number").niceSelect('destroy');코드를 적용하여 특정 요소의 플러그인 동작을 해제한 사례가 확인됩니다.
플러그인 적용 후 동적 값 변경 및 스크롤 처리 방법
1. option 값이 변경되거나 추가될 때
niceSelect플러그인을 사용할 때select option이 추가되거나 변경되는 경우, 변경 이벤트가 끝난 다음에 아래 코드를 추가하여 반영해야 합니다.$('select').niceSelect('update');
2. 스크롤을 커스텀할 때
niceSelect사용 후optionbox에 스크롤을 추가하려면.nice-select.list에 높이 제한을 줍니다..nice-select.list { height: 200px; }- 이때 `nicescroll`을 함께 사용했다면 스크롤이 정상적으로 작동하도록 관련 설정을 같이 추가해 주어야 합니다. ## 폼 요소 디자인 개선 플러그인 선택 및 적용 가이드 - **상황**: 그누보드 또는 웹 프로젝트의 투박한 기본 HTML 폼 요소(셀렉트박스, 체크박스 등)를 커스텀 디자인으로 변경하고자 함. - **선택 기준**: - 다중 선택 및 드롭다운 개선: `Jquery.sumoselect`, `jQuery Nice Select`, `SelectBoxIt` - 체크박스 및 라디오 버튼 디자인 개선: `pretty checkbox`, `icheck-material` - **다음 행동**: 1. **파일 로드**: 테마/스킨의 head/tail 파일에 플러그인 CSS/JS를 로드합니다. (특정 게시판 등에서만 사용 시 `if($bo_table == '게시판ID')`와 같은 PHP 조건문 활용) 2. **요소 지정**: 꾸미고자 하는 HTML 요소에 고유 ID나 클래스를 부여합니다. 3. **초기화**: `$(document).ready` 내에서 플러그인 함수(예: `$('#id').niceSelect();`)를 호출하여 적용합니다. ## 실전 FAQ ### Q. 특정 페이지나 요소에서 플러그인 충돌이 발생할 때 어떻게 하나요? - **막히는 점**: 전역 로드된 스크립트가 원치 않는 요소까지 변형시켜 디자인이 깨지는 경우. - **대안**: 특정 요소만 플러그인 효과를 제거하려면 `destroy` 메서드(예: `$('#ca_number').niceSelect('destroy');`)를 사용하세요. 특정 게시판에서만 로드하고 싶다면 `if($bo_table == '게시판ID')`와 같은 PHP 조건문을 활용해 스크립트 로드 범위를 제어할 수 있습니다. ### Q. 동적으로 option이 추가/변경될 때 디자인이 갱신되지 않아요. - **대안**: `niceSelect` 사용 시 `$('select').niceSelect('update');`를 호출하여 변경 사항을 반영하세요. 스크롤이 필요한 경우 `.nice-select.list`에 CSS 높이를 지정하고, `nicescroll`을 함께 사용 중이라면 해당 플러그인의 갱신 함수도 함께 호출해야 합니다. --- ## 참고자료 ### 기타 참고자료 - [gnustudy.com — SelectBox,checkbox, radio buttons 제이쿼리 플러그인 모음 - 웹개발정보](https://gnustudy.com/bbs/board.php?bo_table=sitelink&wr_id=31) - [cofs.tistory.com — jquery / selectBox plugins / 플러그인 모음](https://cofs.tistory.com/33) - [sir.kr — 특정부분 스크립트 적용안하기 - SIR - 개발자 커뮤니티](https://sir.kr/questions/412540) - [bad-liar.tistory.com — javascript jQuery.sumoselect](https://bad-liar.tistory.com/160) - [moo-you.tistory.com — jQuery nice-select 다운 및 select 꾸미기](https://moo-you.tistory.com/1001) - [soa-memo.tistory.com — JQUERY select를 예쁘게 바꿔주는 플러그인 niceSelect 사용법2](https://soa-memo.tistory.com/29) - [dabok407.tistory.com — Multi Select Box (SumoSelect)](https://dabok407.tistory.com/82)함께 보면 좋은 글
- 이전글PHP AES-256 암호화 및 복호화 구현 방법 26.09.24
- 다음글그누보드 SMS5 모듈 DB 테이블 접두사 변경 및 설정 방법 26.09.24
댓글목록
등록된 댓글이 없습니다.