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

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

QA

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

답변 1

본문

<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만 보이게 했습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 44
© SIRSOFT
현재 페이지 제일 처음으로