2013-07-26 3 views
1

전역 배열을 참조하는 드롭 다운 메뉴를 통해 테이블에 동적으로 추가 된 열 값을 합하는 방법을 찾고 있습니다. 아래에 제가 작성한 코드가 있으며 여기에 작동 예제에 대한 링크가 있습니다 : jsFiddle. JavaScript에 익숙하지 않은 나는 모든 것을 가르쳐 왔습니다. 인내심을 갖고 미리 도움을 청하십시오.동적으로 채워진 테이블의 합계 값

<!DOCTYPE html> 
<html> 
    <head> 
     <title> </title> 
     <script> 
      var x= ["",1,2,3,4,5,6,7,8,9,10]; 
      var y= ["",4,6,3,4,5,6,7,8,9,10]; 
      var z= ["",1,2,3,4,5,6,7,8,9,10]; 
    </script> 
    <script> 
     function fill(){ 
      var si= document.getElementById('ddone').selectedIndex; 
      if (si!==0){ 
       var a= x[si]; 
       var b= y[si]; 
       document.getElementById('one').innerHTML=a; 
       document.getElementById('two').innerHTML=b; 
      }}; 
     </script> 
     <script> 
     function fill2(){ 
      var si2= document.getElementById('ddtwo').selectedIndex;    
      if(si2!==0){ 
       var c=z[si2]; 
       var d=z[si2]; 
       document.getElementById('three').innerHTML=c; 
       document.getElementById('four').innerHTML=d; 
      }}; 
     </script> 
     <script> 
      function total(){ 
       var w= parseInt(document.getElementById('one').value,10); 
       var x= parseInt(document.getElementById('two').value,10); 
       var y=parseInt(document.getElementById('three').value,10); 
       var z= parseInt(document.getElementById('four').value,10); 
       document.getElementById('five').innerHTML=w+y; 
       document.getElementById('six').innerHTML=x+z; 
}; 
     </script> 
    </head> 
    <body> 
<select id='ddone' onchange= 'fill()'> 
    <option></option> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
</select> 
<select id='ddtwo' onchange='fill2()'> 
    <option></option> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
</select> 
<table border=1px width=25%> 
    <tr> 
     <td id='one'></td> 
     <td id='two'></td> 
    </tr> 
    <tr> 
     <td id='three'></td> 
     <td id='four'></td> 
    </tr> 
    <tr> 
     <td id='five'></td> 
     <td id='six'></td> 
    </tr> 
</table> 
<button id='button' onclick='total()'>total</button> 
</body> 
</html> 
+0

총계 또는 합계를 계산 하시겠습니까? – jsalonen

+0

난 열 당 합계를 계산하고 싶습니다. 셀에 채워지는 값을 단순히 가져올 수없는 이유가 있습니까? –

답변

0

스위치 value를하고 코드가 완벽하게 작동합니다 : 당신이 얻을하려는 경우 td 요소 내의 텍스트는 다음과 같이 innerText을 시도합니다. 증명을 위해이 피들을보십시오 : http://jsfiddle.net/Nt9nC/7/

+0

이것은 완벽하게 작동했습니다! 고맙습니다. 내가 배울 수 있도록 왜 '가치'는 효과가 없습니까? –

+0

값은 value 속성을 참조합니다. 일반 셀 대신 입력 필드가 있으면이 경우 'value'가 작동합니다. – jsalonen

+1

좋아요, 이해합니다. 고맙습니다. 이 사이트는 굉장합니다. –

0

합계로 정수를 추출하는 방식이 옳지 않습니다. innerHTML

parseInt(document.getElementById('one').innerText,10) 
+0

나는 이것을 시도했지만'innerText'가 작동하지 않습니다. 그것은 여전히 ​​NaN을 반환합니다. 그래도 감사합니다. –

관련 문제