diff --git a/edivorce/apps/core/static/js/functions.js b/edivorce/apps/core/static/js/functions.js index 81420af5..15adfe80 100644 --- a/edivorce/apps/core/static/js/functions.js +++ b/edivorce/apps/core/static/js/functions.js @@ -3,12 +3,16 @@ // data-target_id: id of information section // data-reveal_target: reveal target_id section if true // data-related_id: id of information section which needed to be hide when target_id section is shown or vice versa +// data-reveal_control_group: the selector for checkbox items that all behave as one group. As long as one of them +// is checked, the target_id or target_class will be shown. Otherwise +// if they are all unchecked, the target_id will be hidden. var reveal = function(el) { var id = '#' + el.data("target_id"); var css_class = el.data("target_class"); var related_id = el.data("related_id"); var reveal_condition = el.data("reveal_condition"); var invert_target = el.data("invert_target"); + var reveal_control_group = el.data("reveal_control_group"); var should_reveal = true; @@ -54,7 +58,7 @@ var reveal = function(el) { } if (should_reveal) { - showHideTargetId(el, id, related_id); + showHideTargetId(el, id, related_id, reveal_control_group); showHideRevealClass(el, css_class); if (el.prop('name') === "provide_certificate_later" || el.prop('name') === "original_marriage_certificate") { @@ -69,20 +73,27 @@ var reveal = function(el) { }; // hide or show based on target id -var showHideTargetId = function(el, id, related_id) { +var showHideTargetId = function(el, id, related_id, reveal_control_group) { if (el.data("reveal_target") === true && el.prop('checked')) { $(id).show(); - if (related_id !== undefined){ + if (related_id !== undefined) { $('#' + related_id).hide(); } - if (id === "#has_children"){ + if (id === "#has_children") { reveal($("input[name=number_children_over_19]")); } // reveal nested question as well - if (id ==="#marriage_certificate"){ + if (id === "#marriage_certificate") { reveal($("input[name=provide_certificate_later]:checked")); } + } else if (reveal_control_group !== undefined) { + if ($(reveal_control_group).is(':checked').length === 0) { + $(id).hide(); + if (related_id !== undefined){ + $('#' + related_id).show(); + } + } } else { $(id).hide(); if (related_id !== undefined){ diff --git a/edivorce/apps/core/templates/question/06_children_income_expenses.html b/edivorce/apps/core/templates/question/06_children_income_expenses.html index 9ff7ed08..2f2c13be 100644 --- a/edivorce/apps/core/templates/question/06_children_income_expenses.html +++ b/edivorce/apps/core/templates/question/06_children_income_expenses.html @@ -874,12 +874,12 @@
-
-
@@ -891,7 +891,7 @@ drugs, hearing aids, glasses, and contact lenses

-
@@ -901,7 +901,7 @@ before the separation and the parents can afford the expense

-