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

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

선구자 8년 전 조회 3,794
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 포인트
굿
8년 전

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

 

</p><p> </p><p>$("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);
 } 
});</p><p>
 

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

답변에 대한 댓글 1개

선구자
8년 전
잘사용할게요 감사합니다,

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

p
8년 전

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

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

답변에 대한 댓글 1개

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

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

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

글이 잘렸는데

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

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

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

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

로그인