2014-05-03 82 views
0

你好男人我无法解决这个问题我不知道问题在哪里?jquery复选框选择总计在一个选择

我想更新和SUM旧值,因为我改变我的

<select id="ac"> 
<option> 1 </option> 
<option> 2 </option> 
<option> 3 </option>   
<option> 4 </option> 
</select> 

JS

$('select').change(function(){ 
     var sum = 0; 
    $('select :selected').each(function() { 
     sum += Number($(this).val()); 
    }); 
    $("#sum").html(sum); 

比如我送1,当我将其更改为4它给了我四,但我想它是1 + 4 = 5我该如何解决这个问题?


这里的非工作演示:http://jsfiddle.net/ugokay/Fmrn2/

+1

请阅读[如何提出一个很好的问题](http://stackoverflow.com/help/how-to-ask) –

回答

0

试试这个请 JSFIDDLE

var sum = 0; 
$('select').change(function(){ 
    sum += parseInt($(this).val()); 
    $("#sum").html(sum); 
}); 

你不需要$( '进行选择:选择')。每个(函数()也因为只有一个选定的元素,因为您正在使用下拉菜单

+0

谢谢你们的答案,工作了几个小时后,我只是没有重新调整,我没有定义全局变量。 – zyrag

0

简单,将var移出该函数,目前它会将其重置当你改变这个值(去阅读jQuery文档)。 像这样:

var sum=0; 
$('select').change(function() { 

    $('select :selected').each(function() { 
     sum =sum+Number($('select').val()); 
    }); 
    $("#sum").html(sum); 
}); 

继承人JSFiddle