选中复选框jquery时更新总和

选中复选框jquery时更新总和,jquery,checkbox,sum,Jquery,Checkbox,Sum,这里:选中一个框将对textfield列中的所有条目求和,并从100中减去该和,然后将差值放入相应的textfield中。因此,如果20是textfield列中所有条目的总和,选中复选框将导致在相应的textfield中填充80(100-20)。此功能正常工作,但我的问题是: 如果我取消选中复选框,相应的textfield将返回零值,而不会影响任何其他textfield。因此,在上面的例子中,80应该返回到0,而不改变20。此外,选中的每个附加复选框都应返回文本字段的新总和,包括上次检查时填充的

这里:选中一个框将对textfield列中的所有条目求和,并从100中减去该和,然后将差值放入相应的textfield中。因此,如果20是textfield列中所有条目的总和,选中复选框将导致在相应的textfield中填充80(100-20)。此功能正常工作,但我的问题是:

如果我取消选中复选框,相应的textfield将返回零值,而不会影响任何其他textfield。因此,在上面的例子中,80应该返回到0,而不改变20。此外,选中的每个附加复选框都应返回文本字段的新总和,包括上次检查时填充的内容。现在,第一次计算只是为每个选中的附加复选框继续重新填充。因此,如果复选框的总和为20,并且我选中了对应文本字段中填充的复选框80,这是正确的,但是如果我选中了另一个复选框80,则再次填充,但这是错误的,现在应该填充0,因为100-20-80=0

编辑:

因此,要在不影响其他字段的情况下清除复选框对应的文本字段,需要如下操作:

$('.textfield').val(function() {
    if($('#' + this.id.replace(/textfield/,'checkbox')).is(':unchecked')){
return 0;}

这将影响所有未选中的复选框,但我只希望它在选中的复选框更改为未选中时工作。因此,该值以直观的方式恢复为0,而不会影响与未选中复选框关联的任何其他文本字段

假设复选框上有一个类,则可以执行以下操作:

$('.checkbox')。不(':checked')

因此,在更改或单击处理程序中,您可以执行以下操作:

$('.checkbox').click(function() {
   if ($(this).not(':checked')) {
     // it is unchecked so do your uncheck function
     doUncheckSumFunction();  // you'd define this do what you need it to do

     } 
});
您还可以定义如下的取消选中函数:

$('table').on('unchecked', '.checkboxes', function() {
// do the code you want done
});
在第一个示例中,您现在可以执行以下操作,而不是
doUnCheckSumFunction()

$(this).trigger('unchecked');
更新:

要在一组元素上循环并执行某些操作,可以执行以下操作:

var $textareas = $('.textclass');

var sum = 0;
$('.checkbox').each(function(i) {
   if ($(this).not(':checked')) {
     sum = sum + 1;
     // or
     $textareas[i].val(0); //etc
   }
});

等等。

如果你把这归结为一个非常具体的情况,这会有所帮助。@lucuma我发布了错误的链接,很抱歉混淆了这个问题不是很清楚。如果您编写了一些伪代码,这会有所帮助。@lucuma我在一个示例中编辑过,我认为问题在于我正在寻找一个事件处理程序,它专门查找取消选中框的行为,而不是未选中框。您可以轻松地检查
而不是(“:checked”)
。我添加了一个需要根据您的代码进行调整的答案。但在我的示例中,这将作用于所有未选中的复选框。假设文本字段和复选框为1-10。我需要类似于
If(textfield1!=0&&$('.checkbox')。not(':checked'){do nothing}其他{为所有textfield返回0;}
Ok,似乎您正在询问如何循环它们(问题仍然不是很清楚)…我会用一些你可以修改的示例代码更新我的答案。我成功了,很抱歉我不够清晰。我很困惑如何问我在想什么。非常感谢你的耐心和帮助!!
。每个
符号似乎就是你在寻找如何循环和计算每个元素的方法。Y你也可以做嵌套循环/等,但似乎你有什么你需要继续下去!