2010-03-11 3 views
0

여러 개의 SELECT 상자가있는 양식이 있으며 사용자 선택에 따라 값이 나타납니다. 이것은 완전히 작동합니다.DIV 내용의 합계를 계산하십시오.

이제 자동으로 또는 단추를 누를 때이 값의 합계를 계산하는 스크립트를 원합니다.

내가 지금까지 가지고있는 전체 코드는 이것이다 :

자바 스크립트 :

<script type="text/javascript"> 
window.onload=function(a,b) 
{ 
    value=document.getElementById('value1'), 
    combobox=document.getElementById('first'); 

    combobox.onchange=function(a) 
    { 
    document.getElementById('value1').innerHTML = "&euro; " +this.value; 
    } 

    value2=document.getElementById('value2'), 
    combobox2=document.getElementById('second'); 

    combobox2.onchange=function(b) 
    { 
    document.getElementById('value2').innerHTML = "&euro; " +this.value; 
    } 
} 
function changeText(){ 
var sum;  
sum= (value * 1) + (value2 * 1); 
document.getElementById('sum').innerHTML = "&euro; " +this.value; 
} 
</script> 

html로 : 누군가가 도움을 줄 수있는 경우

 <ol> 
      <li><label><span>First</span></label> 
      <select name="block1" id="first"> 
       <option value="0">Please select...</option> 
       <option value="1">Summer</option> 
       <option value="2">Spring</option> 
      </select></li> 
     </ol>  
     <ol> 
      <li><label><span>Second</span></label> 
      <select name="block2" id="second"> 
       <option value="0">Please select...</option> 
       <option value="1">Summer</option> 
       <option value="2">Spring</option> 
       <option value="3">Pink</option> 
       <option value="4">Corporate</option> 
      </select></li> 
     </ol> 

     <div id="value1">value 1</div> 
     <div id="value2">value 2</div> 

     <input type='button' onclick='changeText()' value='Calculate'/> 

     <div id="sum">Total here</div> 

, 즉 좋은 것입니다. 나는 정말로 그것을 이해할 수 없다. 많은 많은 감사합니다 !! , 난 당신이 다른 접근 방식을 사용하는 게 좋을 것, 그러나 http://jsbin.com/awici/2

:

답변

1

나는 약간의 계산에 대한 수용하기 위해 자바 스크립트를 수정 한, 지금은 잘 작동 :

window.onload=function(a,b) 
{ 
    value=document.getElementById('value1'), 
    combobox=document.getElementById('first'); 

    combobox.onchange=function(a) 
    { 
    document.getElementById('value1').innerHTML = "&euro; " +this.value; 
    } 

    value2=document.getElementById('value2'), 
    combobox2=document.getElementById('second'); 

    combobox2.onchange=function(b) 
    { 
    document.getElementById('value2').innerHTML = "&euro; " +this.value; 
    } 
} 
function changeText(){ 
var sum;  
div1Value = document.getElementById('value1').innerHTML.replace(/[^0-9]/g, '')*1; 
div2Value = document.getElementById('value2').innerHTML.replace(/[^0-9]/g, '')*1; 
sum = div1Value + div2Value; 
document.getElementById('sum').innerHTML = "&euro; " +sum; 
}​ 

예 여기 이 하나가 조금 벗겨지기 때문에 숫자를 문자열로 처리합니다.

좋은 방법은 숨겨진 필드에 값을 저장 한 다음 그 값을 계산하는 것입니다.

희망 사항을 명확히 밝히고 도움을줍니다. 너는 이해할 수없는 것을 묻는다.

관련 문제