|
|
|
@ -7,7 +7,29 @@
|
|
|
|
|
<% if key.starts_with?("divider") %> |
|
|
|
|
<%= f.govuk_radio_divider %> |
|
|
|
|
<% else %> |
|
|
|
|
<%= f.govuk_radio_button question_key, key, label: { text: val } %> |
|
|
|
|
<%= f.govuk_radio_button question_key, key, label: { text: val }, onchange: "displayConditional()" %> |
|
|
|
|
<% end %> |
|
|
|
|
<% end %> |
|
|
|
|
<% end %> |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
function displayConditional() { |
|
|
|
|
const show_if = <%= raw question["show_if"].to_json %>; |
|
|
|
|
if(show_if !== null){ |
|
|
|
|
const conditionalQuestionKey = <%= raw question_key.to_json %>; |
|
|
|
|
const conditionalQuestion = document.getElementById(conditionalQuestionKey + "_div") |
|
|
|
|
conditionalQuestion.style.display = "none"; |
|
|
|
|
Object.entries(show_if).forEach(([key, values]) => { |
|
|
|
|
values.forEach((value) => { |
|
|
|
|
let answerOption = document.getElementById(key.replace("_", "-") + "-" + value + "-field") |
|
|
|
|
if(answerOption !== null) { |
|
|
|
|
if(answerOption.checked){ |
|
|
|
|
conditionalQuestion.style.display = "block" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
displayConditional() |
|
|
|
|
</script> |
|
|
|
|