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