2026, 새로운 도약을 시작합니다.

반복문으로 이거 줄일수 있을까요? 채택완료

Copy
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개

채택된 답변
+20 포인트

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

Copy
 $("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);
 } 
});
 
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

잘사용할게요 감사합니다,

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

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

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

답변에 대한 댓글 1개

values배열 에서
vaiues[i] 이런식으로 한개 한개 꺼낼수 있습니다.
설명이 부족했네요..

답변주셔서 감사드립니다.

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

글이 잘렸는데

수정해도 코드라 그런지 마찮가지네요..

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

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

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

로그인
🐛 버그신고