Open dzschille opened 7 years ago
When i remove options from a select list, and the selection is on one of this hidden options, the selection should be refreshed, so it is on a visible option.
Example:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="./dependsOn.min.js"></script> </head> <body> <div class="field field-numbers"> <label>Number</label> <select name="numbers"> <option>One</option> <option>Two</option> <option>Three</option> </select> </div> <div class="field field-chars"> <label>Char</label> <select name="chars"> <option>A</option> <option class="depend-B">B</option> <option>C</option> <option>D</option> </select> </div> <script> $(function() { function checkSelectsOptionsVisibilty(selector) { if ($(selector + ' option:selected').is(':disabled')) { $(selector + ' option').each(function () { if ($(this).css('display') != 'none') { $(this).prop("selected", true); return false; } }); } } $('.depend-B').dependsOn({ '.field-numbers select': { values: ['One','Two'] } }, { onDisable: function() { checkSelectsOptionsVisibilty('.field-chars select');} }); }); </script> </body> </html>
Select char "B", then number "three". The selection "jumps" now to char "A", because "B" is now hidden.
It would save a lot of code lines on longer forms, if the functionality of checkSelectsOptionsVisibilty() would be somehow be included in dependsOn.
When i remove options from a select list, and the selection is on one of this hidden options, the selection should be refreshed, so it is on a visible option.
Example:
Select char "B", then number "three". The selection "jumps" now to char "A", because "B" is now hidden.
It would save a lot of code lines on longer forms, if the functionality of checkSelectsOptionsVisibilty() would be somehow be included in dependsOn.