I am programmer who learning jQuery javascript but never really grasped vanilla javascript (i know I am a naughty programmer). My question is how would I go about replicating this functionality in vanilla JS?
$('select').change(function() { if($(this).val() == "Other (please specify)") { $(this).parent().parent().find("input.hidden").show(); } });
Advertisement
Answer
But here’s a step by step conversion:
var selects = document.getElementsByTagName('select'); for (var i=0; i<selects.length; i++) { selects[i].onchange = function() { if( this.value == "Other (please specify)") { var elements = this.parentNode.parentNode.getElementsByTagName("input"); for (var j=0; j<elements.length; j++) { if( !elements[j].className.match(/bhiddenb/)) continue; elements[j].style.display = ''; // the exact thing to do here would depend on your previous actions } } } }