스크립트 질문 채택완료

662111144_1606316657.3855.png

 

662111144_1606316850.3234.png

 

각 목록마다 셀렉트박스가 있는데 값이 바뀌면 해당 목록에 있는 % , 원 으로 번갈아 체인지 되게 할려고 합니다.

 

목록 전체가 동시에 바껴버리네요. 해당 목록에 있는 것들만 바껴야 하는데 말이죠 ..

 

Copy
<script>
$(function() {
    $("select[id^=cp_type]").change(function() {
        $("span[id^=cp_price_unit]").each(function() {
            var select = $("select[id^=cp_type]").val();
            if(select == "0") {
                $(this).text("%");
            } else {
                $(this).text("원");
            }
        });
    });
});

</script>

답변 2개

채택된 답변
+20 포인트

태그 구조에 따라 방법이 달라지겠죠.

정률/정액 셀렉트박스와 단위표시 스팬태그가(cp_price_unit) 같은 레벨의 형제노드라면

 $(this).siblings("span[id^=cp_price_unit]") 
하시면 해당 노드들만 선택될 겁니다.
같은 형제노드가 아니라면 상위에 <div> 태그로 묶고 find() , pareant(), 등을 이용하시면 
원하시는 테그만 선택 가능할 겁니다.(jquery 부모 자식 형제 노드탐색 관련 검색해보세요.)

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

클래스를 줘서 해당 목록을 표시 한다음에 each 루프 돌려서 쓰면 되지 않나요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고