This is where a conditionize.js comes in.
“A small jQuery plugin for handling showing and hiding things conditionally based on input - typically groups of form fields. It works using data attributes to keep all of the name/values for inputs directly in the markup and saves you the trouble of having to manually show/hide a bunch of stuff through JS, as well as improving maintenance if you need to change the name or value of an input you were listening to.”
Using this library it’s easy to have multiple conditions or complex nested blocks shown or hidden using nothing more than classes and data attributes!
See this brilliant demo created by Renee Vrantsidis
See the Pen conditionize.js - Conditional Form Fields w/ Data Attributes by Renee Vrantsidis (@renvrant) on CodePen.