如何控制表格中的输入值

时间:2019-02-03 10:35:22

标签: javascript jquery html5 forms

我正在用以下形式进行估算:计算每个值以了解每个组的小计和总计。

功能工作正常,值在总(小计)正确添加。 但是,当取消选择父输入时,其子值将保持合计(小计)。 应该从合计(小计)中减少子代的价值。

[输入嵌套规范] 当无线电/复选框(命名为父母)有另一个无线电/复选框(名为儿童)在里面, 1.children禁用defalut。 2.children可以在选中父项时选择。 3.children变化为禁用再次当它的父是uncheked。

我认为我需要组合这些脚本,但是不知道如何。 如果您知道如何,请帮助。

脚本

project

html

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);
        }
      });
    });
  });

1 个答案:

答案 0 :(得分:1)

在最后一个函数(启用或禁用输入字段的函数)的末尾添加onAmountUpdate(),以在if语句之后再次更新总数