Например так:
function initSelectors(container) {
var select1 = container.querySelector('[name=select1]');
var select2 = container.querySelector('[name=select2]');
var select3 = container.querySelector('[name=select3]');
select1.addEventListener('change', function() {
select2.disabled = false;
});
select2.addEventListener('change', function() {
select3.disabled = false;
});
}
<div id="selects">
<select name="select1">
<option selected disabled>выберите</option>
<option value="value1">value1</option>
<option value="value2">value2</option>
</select>
<select name="select2" disabled>
<option selected disabled>выберите</option>
<option value="value1">value1</option>
<option value="value2">value2</option>
</select>
<select name="select3" disabled>
<option selected disabled>выберите</option>
<option value="value1">value1</option>
<option value="value2">value2</option>
</select>
</div>
<script>
document.addEventListener("DOMContentLoaded", function() {
var container = document.getElementById('selects');
initSelectors(container);
});
</script>
Еще рекомендую почитать про создание своих компонентов на js+html, например тут, это гораздо более гибкий подход, чем городить логику js в разметке