2013-10-31 2 views
0

나는 2 개의 비활성화 된 입력 상자를 합산하려고합니다. 0의 값을 계속 유지합니다. 페이지가로드 될 때의 값이 thats이기 때문에 생각합니다. 확실하지 않습니다.2의 값을 사용하지 못함

내 JS :

$(document).on('change', '.var1', function(){ 
    var total = 0; 
    $('.var1').each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $('#sum').val(total) 
}); 

$(document).on('change', '.var2', function(){ 
    var total = 0; 
    $('.var2').each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $('#sum2').val(total) 
}); 

$(document).ready(function(){ 
var a = +$('input[name=sum]').val(); 
var b = +$('input[name=sum2]').val(); 
var total = a+b; 
$('#total').val(a+b); 

}); 

HTML :

print "<select class=\"var1\" name=\"var1[$transnum]\">"; var1_list(); 
print "</select>\n"; 
print "<select class=\"var2\" name=\"var2[$transnum]\">"; var2_list(); 
print "</select>\n"; 

print "<input name=\"sum\" id=\"sum\" type=\"text\" size=\"4\"/ disabled>\n"; //add up 1 
print "<input name=\"sum2\" id=\"sum2\" type=\"text\" size=\"4\"/ disabled>\n"; //add up 2 
print "<input name=\"total\" id=\"total\" type=\"text\" size=\"4\"/ disabled>\n"; // add up total 
+0

여기서 class = var1 및 var2 인 코드는 무엇입니까? –

+0

내가 편집 한 게시물 ...하지만 그게 내가 원하는 걸로 할 일이 없어 .. 난 그냥 2 액티브 비활성화 된 상자에서 값을 추가하려면 – rubberchicken

+0

합계 및 sum2 풀다운 메뉴에서 총 합계 .. 그게 잘 작동 .. 방금 합계를 합계 2 합계를 사용하지 않으려면 # – rubberchicken

답변

1

이 내가 모르고 한 일이다 모든 정보. http://jsfiddle.net/9neYY/

편집은 내가

// initialize things... 
update_sum(); 
update_sum2(); 
update_total(); 

$(document).on('change', '.var1', function(){ 
    console.log('var 2 change'); 
    update_sum(); 
    update_total(); 
}); 

function update_sum(){ 
    var total = 0; 
    $('.var1').each(function() { 
     total += parseFloat($(this).val(),10); 
    }); 
    $('#sum').val(total); 
}; 

$(document).on('change', '.var2', function(){ 
    var total = 0; 
    console.log('var 2 change'); 
    update_sum2(); 
    update_total(); 
}); 

function update_sum2(){ 
    var total = 0; 
    $('.var2').each(function() { 
     total += parseFloat($(this).val(),10); 
    }); 
    $('#sum2').val(total); 
}; 

function update_total(){ 
    var a = +$('input[name=sum]').val(); 
    var b = +$('input[name=sum2]').val(); 
    var total = a+b; 
    $('#total').val(a+b); 
}; 

HTML 내가 사용을 고정 ... 내 첫 번째 코드 및 jsfiddle에 오타가 있었다 :

<select class="var1" name="var1[]"> 
    <option value=1>1</option> 
    <option value=2>2</option> 
    <option value=3>3</option> 
    <option value=4>4</option> 
    <option value=5>5</option> 
</select> 
<select class="var2" name="var2[]"> 
    <option value=1>1</option> 
    <option value=2>2</option> 
    <option value=3>3</option> 
    <option value=4>4</option> 
    <option value=5>5</option> 
</select><br/><br/> 

Sum:<input name="sum" id="sum" type="text" size="4" disabled>&nbsp;&nbsp;&nbsp;&nbsp; 

Sum2: <input name="sum2" id="sum2" type="text" size="4" disabled>&nbsp;&nbsp;&nbsp;&nbsp; 

Total: <input name="total" id="total" type="text" size="4" disabled> <br/> 
  • 나는 확실하지 않다 당신의 코드에서 클래스 사용 ...
  • 01에 기본 매개 변수를 포함해야합니다.이 함수가되도록

    var value = $ ("# sum"). val();
    var base = 10;
    var new_value = parseInt (value, base);

+0

도 마찬가지다. – rubberchicken

1

$(document).on('change', '.var1', function(){ 
    var total = 0; 
    $('.var1').each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $('#sum').val(total) 
    $('#total').val($('#sum').val()+$('#sum2').val()); 
}); 

$(document).on('change', '.var2', function(){ 
    var total = 0; 
    $('.var2').each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $('#sum2').val(total) 
    $('#total').val($('#sum').val()+$('#sum2').val()); 
}); 

#total 각 시간을 계산 할 수있다보십시오.

0

beautifulcoder - .. 감사합니다 내가 당신을 사용하고 나를 값주고 있었다 때문에 편집 1 +이 작품

1 = 11 .. :

$(document).on('change', '.var1', function(){ 
    var total = 0; 
    $('.var1').each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $('#sum').val(total) 
    var a = +$('#sum').val(); 
    var b = +$('#sum2').val(); 
    $('#total').val(a+b); 
}); 

$(document).on('change', '.var2', function(){ 
    var total = 0; 
    $('.var2').each(function() { 
     total += parseFloat($(this).val()); 
    }); 
    $('#sum2').val(total) 
    var a = +$('#sum').val(); 
    var b = +$('#sum2').val(); 
    $('#total').val(a+b); 
}); 
관련 문제