我正在用以下形式进行估算:计算每个值以了解每个组的小计和总计。
功能工作正常,值在总(小计)正确添加。 但是,当取消选择父输入时,其子值将保持合计(小计)。 应该从合计(小计)中减少子代的价值。
[输入嵌套规范] 当无线电/复选框(命名为父母)有另一个无线电/复选框(名为儿童)在里面, 1.children禁用defalut。 2.children可以在选中父项时选择。 3.children变化为禁用再次当它的父是uncheked。
我认为我需要组合这些脚本,但是不知道如何。 如果您知道如何,请帮助。
project
var subTotal, total;
$(function() {
$('input.value, input.pages').unbind('change');
$('input.value, input.pages').bind('change', function(){
onAmountUpdate();
});
});
function onAmountUpdate(){
total = 0;
$('.category').each(function(){
subTotal = 0;
$(this).find('input[type="checkbox"]:checked, input[type="radio"]:checked').each(function(){
if($(this).hasClass('aaa')) {
subTotal += Number($(this).val()) * Number($(this).next().val());
}else{
subTotal += Number($(this).val());
}
});
$(this).find('.xxx').val(subTotal);
total += subTotal;
});
$('.zzz').val(total);
}
$(function(){
$('.category').each(function(){
var category = this;
//デフォルト children選択不可
$('input[name="children"]').prop('checked', false).prop('disabled', true);
$(this).find('input[name="parent"]').change(function(){
//parentがチェックされたら直下のchildrenのみチェック可
if ($('input[name="parent"]', category).prop("checked")) {
$('input[name="children"]' , category).prop('disabled', false);
} else {
$('input[name="children"]', category).prop('checked', false).prop('disabled', true);
}
});
});
});
答案 0 :(得分:1)
在最后一个函数(启用或禁用输入字段的函数)的末尾添加onAmountUpdate()
,以在if语句之后再次更新总数