테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 질문 채택완료

웹프리죤 4년 전 조회 2,611

 

 

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

 

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

 

</p>

<p><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("원");

            }

        });

    });

});</p>

<p></script></p>

<p>

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

답변 2개

채택된 답변
+20 포인트
4년 전

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

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

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

 

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

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

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

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

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

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

로그인