jQuery Toggle Fields
Adds form logic to hide form fields.
Examples
To initialise the plugin
$('form').toggleFields();
Example A
Toggling a single field
Markup
<form> <i aria-hidden data-toggle-conditions="#demo_example_field_1"></i> <label for="label_id_1">Select an option</label> <select id="label_id_1" data-toggle-target> <option>---------</option> <option id="demo_example_field_1">foo</option> </select> <div data-toggle-next data-toggle-ref="demo_example_field_1"> <label data-toggle-target for="label_id_2">An additional field</label> <select id="label_id_2" data-toggle-target> <option>---------</option> </select> </div> </form> <script> $('form').toggleFields(); </script>
Rendered
Example B
Toggling multiple fields at a time
Markup
<body data-toggle-conditions="#demo_example_field_2"> <form> <i aria-hidden data-toggle-conditions="#demo_example_field_2"></i> <label for="label_id_3"><input id="label_id_3" checked="checked" name="fieldset_1" type="radio"> No</label> <label for="demo_example_field_2"><input id="demo_example_field_2" name="fieldset_1" type="radio"> Yes</label> <div data-toggle-next data-toggle-ref="demo_example_field_2"> <label data-toggle-target for="label_id_5">An additional field</label> <select id="label_id_5" data-toggle-target> <option>---------</option> </select> </div> <div data-toggle-next data-toggle-ref="demo_example_field_2"> <label data-toggle-target for="label_id_6">Another additional field</label> <input data-toggle-target id="label_id_6" type="text"> </div> </form> <script> $('form').toggleFields(); </script>
Rendered
Example C
Recursive toggle.
Markup
<form> <i aria-hidden data-toggle-conditions="#demo_example_field_3, #demo_example_field_4, #demo_example_field_5"></i> <label for="label_id_7">First toggle</label> <select id="label_id_7" data-toggle-target> <option>---------</option> <option id="demo_example_field_3">foo</option> </select> <div data-toggle-next data-toggle-ref="demo_example_field_3" data-toggle-recursive> <label data-toggle-target for="label_id_8">Second toggle</label> <select id="label_id_8" data-toggle-target> <option>---------</option> <option id="demo_example_field_4">bar</option> </select> </div> <div data-toggle-next data-toggle-ref="demo_example_field_4" data-toggle-recursive> <label data-toggle-target for="label_id_9">Third toggle</label> <select id="label_id_9" data-toggle-target> <option>---------</option> <option id="demo_example_field_5">bar</option> </select> </div> <div data-toggle-next data-toggle-ref="demo_example_field_5" data-toggle-recursive> <p>Foo paragraph that belongs to the third toggle.</p> </div> </form> <script> $('form').toggleFields(); </script>
Rendered
Example D
Checkbox example
Markup
<form> <i aria-hidden data-toggle-conditions="#demo_example_field_6"></i> <label for="demo_example_field_6"> <input id="demo_example_field_6" checked type="checkbox"> No </label> <div data-toggle-next data-toggle-ref="demo_example_field_6"> <label data-toggle-target for="label_id_9">An additional field</label> <select id="label_id_9" data-toggle-target> <option>---------</option> </select> </div> </form> <script> $('form').toggleFields(); </script>
Rendered
Example E
Field with help text example
Markup
<form> <i aria-hidden data-toggle-conditions="#demo_example_field_7"></i> <label for="label_id_10">Select an option</label> <select id="label_id_10" data-toggle-target> <option>---------</option> <option id="demo_example_field_7">foo</option> </select> <div data-toggle-next data-toggle-ref="demo_example_field_7"> <label data-toggle-target for="label_id_11">Email address</label> <input data-toggle-target aria-describedby="instructions_id_1" id="label_id_11" type="text" /> <p id="instructions_id_1" class="form-row__instructions">For example: name@example.com</p> </div> </form> <script> $('form').toggleFields(); </script>
Rendered
Example F
Destroy method
Markup
<form id="destroyMethod"> <i aria-hidden data-toggle-conditions="#demo_example_field_8"></i> <label for="label_id_11">Select an option</label> <select id="label_id_11" data-toggle-target> <option>---------</option> <option id="demo_example_field_8">foo</option> </select> <div data-toggle-next data-toggle-ref="demo_example_field_8"> <label data-toggle-target for="label_id_12">Email address</label> <input data-toggle-target aria-describedby="instructions_id_2" id="label_id_12" type="text" /> <p id="instructions_id_2" class="form-row__instructions">For example: name@example.com</p> </div> </form> <script> var form = $('form'); form // init .toggleFields() // destroy .data('plugin_toggleFields').destroy(); </script>