0

需要通过添加所有值而不是存储在数组中来获取checkbox并存储在 a single variable中。我应该如何获取它。?

这是我的小提琴和我的 jquery

function getCheck() {
         $('ul.addon > li :checked').each(function() {
           allVals.push($(this).val());
           });
            return allVals;
      }
     $(function() {
       $('ul.addon > li > input').click(getCheck);
       getCheck();
    $(allVals).each(function(){
        addon+=parseInt(allVals);
        $('#op').html(addon);
    });        
     });

这里 allvals 数组包含选中复选框 1,2,1,1,3 的所有值

现在我需要添加这些值并移动到addon像 1+2+1+1+3=8 这样的变量中

如果我取消选中复选框,则必须减去该值

4

2 回答 2

0

如果您需要在复选框单击时添加和减去复选框的值,请尝试下面的代码。希望这就是您的意思。

var allVals = [];
$('input:checkbox[name=addons]').each(function() {
           allVals.push($(this).val());
 });//Gets the complete List of values

//点击时加减值

 var curr_value=0;
    $("input:checkbox[name=addons]").on('click',function() {
         if($(this).is(":checked") == false){
            curr_value = curr_value -$(this).val();

        }

         if($(this).is(":checked") == true){
            curr_value = curr_value + +$(this).val();
        }
        alert(curr_value);//Contains the added values of the checked boxes 

    });
于 2013-10-08T10:02:46.893 回答
0

我希望我能很好地理解您的问题,但是您想在选中时添加该值并在未选中时减去该值?尝试这个:

var value = 0;

$('input[type="checkbox"]').change(function()
{
    if($(this).is(':checked'))
    {
        value += parseInt($(this).val());
    }
    else
    {
        value -= parseInt($(this).val());  
    }

    alert(value);
})

在复选框的状态更改时,我验证状态(选中或未选中)。当检查我的价值,否则我会减去价值。

jsFiddle

于 2013-10-08T10:05:04.587 回答