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

자바스크립트 좀 봐주세요. for문 돌리는데 잘 안되네요. 채택완료

비누거품 10년 전 조회 3,555

</p><p><input  onclick="chk_o();" type='text' id='name1_1' name='name1_1' value='<?=$name1_1?>'  /></p><p><input  onclick="chk_o();" type='text' id='name1_2' name='name1_2' value='<?=$name1_2?>'  /></p><p>.....</p><p><input  onclick="chk_o();" type='text' id='name1_31' name='name1_31' value='<?=$name1_31?>'  /></p><p> </p><p> </p><p><input  style="text-align:right; width:30;" onclick="day_sum();" type='text' id='name1_33' name='name1_33' value='<?=$name1_33?>' itemname='합계' /></p><p> </p><p><script>
function chk_o(name_num){ // 마우스 한번 클릭시 O 표시
   
   document.getElementById('name1_'+name_num).value = "O";
   
}</p><p> </p><p>function day_sum() {
  
  for(i=1; i < 32; i++) {
  
 var day_chk = document.getElementById('name1_'+i).value; 
 
 if(day_chk == "O") {day_summ;}
      
  }
  //document.write(day_summ;
  document.getElementById('name1_33').value  = day_summ; </p><p></script>
​</p><p> </p><p>
 

 

자바스크립트를 이용해서 O 표시 합계를 내서 input 넣으려고 하는데 잘 안되네요...

구글신께 물어봤지만 답을 안주시네요... ㅠ.ㅠ

 

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

답변 1개

채택된 답변
+20 포인트
10년 전

var day_summ =0;

function day_sum() {

~~

if(day_chk == "O") {day_summ;}--->if(day_chk == "O") {day_summ++;} 

 

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

답변에 대한 댓글 3개

비누거품
10년 전
day_summ++ 잘 고쳤습니다.

근데 저 문제도 있었지만 아래의 문장에서 에러가 발생을 하네요...

var day_chk = document.getElementById('name1_'+i).value;

달력을 가지고 하다보니 일요일은 빠지게 되다보니 윗부분에서 일요일은 에러가 발생을 하네요...
균이
10년 전
저 코드로 하자면 당연히 name1_31 까지 id가 빠짐없이 있어야죠
jquery 사용중이겠죠?
<input class='myinput' ~~~>처럼 class 부여 후 아래처럼 하면 됩니다
$('.myinput').each(function(){
if( $(this).val() == "O") day_summ++;
}
============================
그런데 저렇게 할 것이 아니고 체크박스로 하면 간단하겠군요
<input type='checkbox' name='name1_1' value='o' class='myinput' <?if($name1_1) echo 'checked';?>>
~
~

체크한 갯수
day_summ = $(".myinput:checked").length;
비누거품
10년 전
아는게 힘이네요.. 수 많은 고민이 단 한방에 해결이 되네요.. 감사합니다.^^

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

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

로그인