2014-04-16 2 views
0

저는 JavaScript에서 매우 초보자입니다. 짧은 스크립트가 붙어 있습니다. 여기 거래가 있습니다 : 저는 30 개의 옵션이있는 공식을 가지고 있고 각각 1-10의 값을 가지고 있습니다. 이제 사용자가 옵션을 변경하는 동안 결과를 요약하고 결과를 표시하려고합니다.JavaScript의 루프 당 옵션 값을 합산하는 방법

function calculate() 
{ 
    input1 = parseFloat(document.character.input1.value); 
    input2 = parseFloat(document.character.input2.value); 
    input3 = parseFloat(document.character.input3.value); 
    input4 = parseFloat(document.character.input4.value); 
    input5 = parseFloat(document.character.input5.value); 
    input6 = parseFloat(document.character.input6.value); 
    input7 = and so on 

    document.getElementById("output").innerHTML = (input1 + input2 + input3 + input4 + input5 + input6 ...).toString(); 
} 

작동하지만 for 루프로 짧게하고 싶습니다. 그러나 무엇을 시도하든 나는 그것을 작동시키지 못했습니다. 누구도 날 여기 도와 줄 수 있니?

+0

언제 "계산"기능을 호출합니까? –

+0

여기 Kendel

+0

음,'document.character'는 무엇입니까? – Kos

답변

4

이 같은 일을 시도 할 수 있습니다 : 내가 여기서 뭘하고 모든 문자 객체의 키를 조립하는 변수 i을 사용

var total = 0; 
for (var i = 1; i <= 30; i++){ 
    total += parseFloat(document.character[ "input" + i ].value); 
} 
document.getElementById("output").innerHTML = total; 

. 값은 #output 요소 콘텐츠에 마지막으로 배치 된 total 변수에 추가됩니다 (각 반복마다).

+1

완벽하게 작동합니다! 고맙습니다. 나는 비슷한 것을 시도해 보았고 지금은 왜 효과가 없었는지 압니다. 고마워요! – Kendel

+0

@Kendel - 당신이 가장 환영합니다. 해피 코딩! – Lix

0

사용자가 선택 요소의 옵션 값의 합계를 변경하기 위해 "옵션을 변경할 수있는 방법"을 이해하지 못합니다. 어쨌든, 당신은 그것을 좋아 할 수 있습니다

<select onchange="getTotal(this);"> 

및 기능 : 당신은 여러 선택이 오직 선택된 자들을 요약하려는 경우

function getTotal(select) { 
    var total = 0; 
    var options = select.options; 
    for (var i=0, iLen=options.length; i<iLen; i++) { 
    total += +options[i].value; 
    } 
    document.getElementById('output').innerHTML = total; 
} 

은, 당신은 할 수 있습니다 :

total += options[i].selected? +options[i].value : 0; 

select 요소의 변경 리스너가 다른 브라우저에서 약간 다르게 동작 할 수 있습니다.