채택완료

자바스크립트 간소화

2014-01-03 (금) 15:43:15 5,744
if("<?=$options_0?>") $("input[name=options_0]").attr('checked','checked');
 if("<?=$options_1?>") $("input[name=options_1]").attr('checked','checked');
 if("<?=$options_2?>") $("input[name=options_2]").attr('checked','checked');
 if("<?=$options_3?>") $("input[name=options_3]").attr('checked','checked');
 if("<?=$options_4?>") $("input[name=options_4]").attr('checked','checked');
 if("<?=$options_5?>") $("input[name=options_5]").attr('checked','checked');
 
위에 구문을 반목문을 이용하여 간소화 시킬려고 하는데
("<?=$options_0?>") 이 부분이 문제 네요.
 
 어떻게 해야 될까요?
 
|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
Copy
for($i ; $i < 6; $i++){

	if($options_{$i})
    		echo '$("input[name=options_'. $i .']").attr("checked","checked");';
}
php로 줄여봤습니다.;;

답변에 대한 댓글 2개

if($options_{$i}) $i 를 {}로 감싸는 방법도 있었군요 ㅎㅎ
php 왕초보입니다. 위 문장을 한줄씩 우리 말로 해석하면 어떤 의미인가요?
2014-01-03 (금) 16:53:40
그런데 자바스크립트로 작업을 해야 되서 저는 이렇게 해봤습니다.
 
조금 무식한 방법이지요... ㅎㅎ 더 좋은 방법이 있을 거 같긴 한데....
 
var optionsW = ["<?=$options_0?>", "<?=$options_1?>", "<?=$options_2?>", "<?=$options_3?>", "<?=$options_4?>", "<?=$options_5?>", "<?=$options_6?>"];
 
 for (var i =0; i <= 6; i ++) {
  
  if(optionsW[i] != "") $("input[name=options_"+i+"]").attr('checked','checked');
  
 };

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