Jquery 2个禁用输入的合计值

Jquery 2个禁用输入的合计值,jquery,Jquery,我正在尝试合计2个禁用的输入框。。我一直得到一个0的值。。我想这是因为这是页面加载时的值。。但我不确定 我的js: $(document).on('change', '.var1', function(){ var total = 0; $('.var1').each(function() { total += parseFloat($(this).val()); }); $('#sum').val(total) }); $(document).

我正在尝试合计2个禁用的输入框。。我一直得到一个0的值。。我想这是因为这是页面加载时的值。。但我不确定

我的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”“;var1_list();
打印“\n”;
打印“”;var2_list();
打印“\n”;
打印“\n”//加起来1
打印“\n”//加起来2
打印“\n”//合计
试试看


每次都要计算
#总数。

美丽的编码器-谢谢。。我用了你的并编辑了它,因为它给了我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);
});

这就是我在不知道所有信息的情况下所做的

编辑我的第一个代码和JSFIDLE中有一个输入错误。。。我修好了

// 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:

<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/>

1.
2.
3.
4.
5.
1.
2.
3.
4.
5.


总数: Sum2: 总计:
  • 我不确定您在代码中使用了哪些类
  • 您需要在函数中包含基本参数,以便

    var值=$(“#sum”).val()
    var基数=10
    var new_value=parseInt(值,基)


class=var1和var2的代码在哪里?html代码中的.var1和.var2在哪里?我编辑了帖子。。。但这和我想要的没有关系。。我只想把2个禁止求和的框中的值相加,然后从下拉菜单中把总和相加。这很好。。我只想从两个禁用总和的框中为#totall加上总数。您可以发布页面上显示的HTML吗?
// 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); 
};
<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/>