반복문으로 이거 줄일수 있을까요?

반복문으로 이거 줄일수 있을까요?

QA

반복문으로 이거 줄일수 있을까요?

본문


if (values.p01  == 1) {
		$("#checkP01").attr("checked", true);
	} else {
		$("#checkP01").attr("checked", false);
	}
	if (values.p02  == 1) {
		$("#checkP02").attr("checked", true);
	} else {
		$("#checkP02").attr("checked", false);
	}
	if (values.p03  == 1) {
		$("#checkP03").attr("checked", true);
	} else {
		$("#checkP03").attr("checked", false);
	}
	if (values.p04  == 1) {
		$("#checkP04").attr("checked", true);
	} else {
		$("#checkP04").attr("checked", false);
	}
	if (values.p05  == 1) {
		$("#checkP05").attr("checked", true);
	} else {
		$("#checkP05").attr("checked", false);
	}
	if (values.p06  == 1) {
		$("#checkP06").attr("checked", true);
	} else {
		$("#checkP06").attr("checked", false);
	}
	if (values.p07  == 1) {
		$("#checkP07").attr("checked", true);
	} else {
		$("#checkP07").attr("checked", false);
	}						
3항 연산자랑 반복문으로 좀 줄이고 싶은데 잘되지 않네요 [code] for(var i = 0 ; i

이 질문에 댓글 쓰기 :

답변 3

테스트는 안해봤지만 아래와 같은 형식으로 한방에? 참고로 오타가 있을 수 있으므로 잘 고쳐보세요

 


 
$("input[name^='checkP']").each(function(idx){
    var idx = idx < 10 ? "0"+idx : idx;
    var value = eval("values.p"+idx);
 
 $("#checkP"+idx).attr("checked", false);
 
 if(value == "1")
 {
   $("#checkP"+idx).attr("checked", true);
 } 
});
 

values 가 의미하는게 무엇입니까? 변수로 호출인건가요 아님 저게 함수인건가요? 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,823 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT