셀렉트에 따라 div에 class명 전달시키기

셀렉트에 따라 div에 class명 전달시키기

QA

셀렉트에 따라 div에 class명 전달시키기

본문

<select name="shot" id="shot"></select> 

위와 같이 셀렉트값 변경시, 선택된 값이

아래와 같이 'box' 면


<script>
$(document).ready(function (){
$("#shot").change(function(){
    if( $(this).val() == 'box' ) {
        $(".box").show(); 
    }
    else{
        $(".box").hide();
    } 
})
$("#shot").trigger( 'change' );
});
</script>

클래스명이 .box인 div를 보이거나 안보이게 하는데요... 


<div class="box"></div>
<div class="stick"></div>
<div class="pencil"></div>
<div class="letter"></div>
<div class="bowl"></div>
...

 

box말고 stick,pencil,letter,bowl... 수백개가 있는 경우 

선택된 셀렉트값이 자동으로 div 클래스명에 적용되게하는 방법이 없을까요?

도움 부탁드립니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 1


<style>
#wrap div { display:none; }
</style>
<script src="http://code.jquery.com/jquery-2.2.4.js"></script>
<script>
$(function() {
    $("#shot").on("change", function() {
        $("#wrap div").hide();
        $("." + $(this).val()).show();
    });
});
</script>
<select name="shot" id="shot">
    <option value="">선택</option>
    <option value="box">box</option>
    <option value="stick">stick</option>
</select>
<div id="wrap">
    <div class="box">box</div>
    <div class="stick">stick</div>
    <div class="pencil">pencil</div>
    <div class="letter">letter</div>
    <div class="bowl">bowl</div>
</div>

정확히 어떤 걸 원하시는지 몰라서 처음엔 전부 감춰져 있다가 #shot에서 선택한 값의 class만 보이게 했습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 44
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT