

각 목록마다 셀렉트박스가 있는데 값이 바뀌면 해당 목록에 있는 % , 원 으로 번갈아 체인지 되게 할려고 합니다.
목록 전체가 동시에 바껴버리네요. 해당 목록에 있는 것들만 바껴야 하는데 말이죠 ..
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 포인트
2020-11-26 (목) 11:21:32
태그 구조에 따라 방법이 달라지겠죠.
정률/정액 셀렉트박스와 단위표시 스팬태그가(cp_price_unit) 같은 레벨의 형제노드라면
$(this).siblings("span[id^=cp_price_unit]")하시면 해당 노드들만 선택될 겁니다.같은 형제노드가 아니라면상위에 <div> 태그로 묶고 find() , pareant(), 등을 이용하시면 원하시는 테그만 선택 가능할 겁니다.(jquery 부모 자식 형제 노드탐색 관련 검색해보세요.)
클래스를 줘서 해당 목록을 표시 한다음에 each 루프 돌려서 쓰면 되지 않나요?
답변을 작성하려면 로그인이 필요합니다.