Good morning I'm hoping someone can help me with my query. I'm trying to make this code so that if x is selected it will show another drop down which seems to be working fine, however if I click 3 drop downs deep and select another primary drop down it does not hide the last displayed drop down.
For example:
If you run the code snippet you will see that if you click India then Orissa then Nal - but then change India to America you will still see Nal in the end drop down - it also does the same if you first select America - California - MRK or KRK.
$("#select1").change(function() { if ($(this).data('options') == undefined) { $(this).data('options', $('#select2 option').clone()); } var id = $(this).val(); var options = $(this).data('options').filter('[data-value=' + id + ']'); $('#select2').html(options).show(); }); $("#select2").change(function() { if ($(this).data('options') == undefined) { $(this).data('options', $('#select3 option').clone()); } var id = $(this).val(); var options = $(this).data('options').filter('[data-value=' + id + ']'); $('#select3').html(options).show(); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> <select name="select1" id="select1"> <option value="">Select Country</option> <option value="india">India</option> <option value="america">America</option> </select> <select name="select2" id="select2" style="display: none;"> <option value="">Select State</option> <option data-value="india" value="orissa">Orissa</option> <option data-value="india" value="telangan">Telangan</option> <option data-value="america" value="america">USA</option> <option data-value="america" value="america">California</option> </select> <select name="select3" id="select3" style="display: none;"> <option value="">Select city</option> <option data-value="orissa">Nal</option> <option data-value="orissa">Mir</option> <option data-value="telangan">Hyd</option> <option data-value="telangan">Vija</option> <option data-value="america">KRK</option> <option data-value="america">MRK</option> </select>
$('#select2').hide()?